mirror of
https://github.com/hoshikawa2/compass_backoffice.git
synced 2026-07-09 13:54:20 +00:00
first commit
This commit is contained in:
57
docs/CORRECAO_EXTRACAO_CPF_TEXTO_LIVRE.md
Normal file
57
docs/CORRECAO_EXTRACAO_CPF_TEXTO_LIVRE.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Correção: extração de CPF/CNPJ/protocolo em texto livre
|
||||
|
||||
## Problema
|
||||
|
||||
Mensagem como:
|
||||
|
||||
```text
|
||||
consultar dados do cliente cpf 169.323.728-86
|
||||
```
|
||||
|
||||
não preenchia `BusinessContext.customer_key`, porque o `IdentityResolver` do framework resolve campos estruturados do payload/contexto, mas não extraía identificadores digitados livremente no texto.
|
||||
|
||||
## Ajuste
|
||||
|
||||
Adicionado:
|
||||
|
||||
```text
|
||||
app/identity_extraction.py
|
||||
```
|
||||
|
||||
com extração defensiva de:
|
||||
|
||||
- CPF
|
||||
- CNPJ
|
||||
- MSISDN com rótulo explícito
|
||||
- protocolo/chamado/reclamação/ticket
|
||||
|
||||
## Integração
|
||||
|
||||
`app/main.py` agora enriquece o payload antes de chamar o `IdentityResolver`:
|
||||
|
||||
```python
|
||||
payload = enrich_payload_with_text_identity(req.payload or {})
|
||||
```
|
||||
|
||||
`app/agents/backoffice_agent.py` também usa a extração como fallback antes de chamar tools MCP, garantindo que `customer_key` e `protocol_id` sejam preenchidos quando vierem no texto.
|
||||
|
||||
## Exemplo
|
||||
|
||||
Entrada:
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "consultar dados do cliente cpf 169.323.728-86"
|
||||
}
|
||||
```
|
||||
|
||||
Contexto extraído:
|
||||
|
||||
```json
|
||||
{
|
||||
"customer_key": "16932372886",
|
||||
"cpf": "16932372886",
|
||||
"document": "16932372886",
|
||||
"document_type": "cpf"
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user