mirror of
https://github.com/hoshikawa2/first_contas.git
synced 2026-07-09 10:14:20 +00:00
2.8 KiB
2.8 KiB
Agent Contas FIRST migrado para agent_framework_oci
Este backend foi gerado a partir do agent_template_backend e remodelado para executar o agent_contas_first com máximo uso das capacidades nativas do agent_framework_oci.
Decisões principais
- Não foi portada a camada própria de workflow/guardrails/judges/RAG do legado para evitar duplicação e regras paralelas.
- O agente específico ficou concentrado em
app/agents/contas_agent.py. - O fluxo LangGraph fica em
app/workflows/agent_graph.pye usa componentes do framework para input guardrails, router, agente, output supervisor, output guardrails, judges, supervisor review e persistência. - O MCP é chamado somente via
agent_framework.mcp.tool_routeratravés doAgentRuntimeMixin.execute_tools_for_intent(). - Identity e BusinessContext são resolvidos em
app/main.pycomIdentityResolvereBusinessContextdo framework. - RAG é consumido via
RagServicedo framework usando namespacecontas_first. - Eventos IC/NOC/GRL são emitidos no workflow e no agente, sem criar uma camada de observabilidade paralela.
Arquivos principais
app/agents/contas_agent.py: comportamento de domínio, seleção declarativa de intents/tools, uso de memória, RAG, MCP e LLM cache do framework.app/workflows/agent_graph.py: pipeline LangGraph corporativo.config/agents.yaml: registra somentecontas_first.config/routing.yaml: intents de fatura, pagamento, segunda via, contestação, plano e VAS.config/agents/contas_first/guardrails.yaml: ativa MSK, VLOOP, PINJ, DLEX_IN, REVPREC, DLEX_OUT e RAGSEC no framework.config/tools.yaml: catálogo MCP telecom com cache porargs_schema.config/mcp_parameter_mapping.yaml: mapeamento canônico BusinessContext -> argumentos MCP.config/identity.yaml: aliases de msisdn, invoice_id, asset_id, ura_call_id e session.legacy_reference/: workflows originais guardados apenas como referência de rastreabilidade.
Como rodar
cd agent_contas_migrated
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
Exemplo:
curl -X POST http://localhost:8000/gateway/message \
-H 'Content-Type: application/json' \
-d '{
"channel":"web",
"agent_id":"contas_first",
"tenant_id":"default",
"payload":{
"text":"quero entender minha fatura",
"session_id":"sess-contas-001",
"user_id":"11999999999",
"msisdn":"11999999999",
"invoice_id":"INV-EXEMPLO-001",
"ura_call_id":"URA-001"
}
}'
Observações
O pacote não altera o agent_framework_oci; ele consome suas APIs nativas. Caso o framework esteja instalado em modo editable, rode com PYTHONPATH apontando para o src do framework ou instale o pacote via pip install -e ../agent_framework_oci.