risk_score_supplier¶
Score de risco para due diligence de fornecedor.
Assinatura¶
O que faz¶
Baseia-se em analyze_cnpj_compliance e aplica ajustes mais conservadores para contexto de contratação:
- Achados com severidade
alto/criticoreduzem score em 15 - Achados
medioreduzem em 5 criterios_estritos=Truereduz score em 10 (politicas anti-corrupção)
Retorna recomendação binária/quaternária acionavel.
Schema de saida¶
class SupplierRiskScore(BaseModel):
cnpj: str
razao_social: str
risco: Literal["baixo", "medio", "alto", "critico"]
score: int # 0-100
fatores: list[str] # positivos e negativos
recomendacao: Literal[
"aprovar",
"aprovar_com_ressalvas",
"investigar",
"recusar",
]
data_analise: date
Faixas de recomendação¶
| Score | Recomendacao |
|---|---|
| 80-100 | aprovar |
| 60-79 | aprovar_com_ressalvas |
| 30-59 | investigar |
| 0-29 | recusar |
Exemplos¶
CLI¶
Python (integração com cadastro de fornecedores)¶
async def cadastrar_fornecedor(cnpj: str) -> bool:
score = await risk_score_supplier(cnpj, criterios_estritos=True)
if score.recomendacao == "recusar":
log.warning("supplier_rejected", cnpj=cnpj, fatores=score.fatores)
return False
if score.recomendacao == "investigar":
await notificar_compliance_team(cnpj, score)
return True
Via agente IA¶
"Faz a due diligence completa do CNPJ 12.345.678/0001-90 com critérios estritos e me da a recomendação"