First commit
This commit is contained in:
39
apps/agent_gateway/config/authentication.example.yaml
Normal file
39
apps/agent_gateway/config/authentication.example.yaml
Normal file
@@ -0,0 +1,39 @@
|
||||
# Nunca coloque secrets diretamente neste arquivo. Use sempre *_env.
|
||||
providers:
|
||||
public:
|
||||
mode: none
|
||||
|
||||
deny:
|
||||
mode: deny
|
||||
|
||||
tia_basic:
|
||||
mode: basic
|
||||
client_id_env: TIA_AGENT_CLIENT_ID
|
||||
secret_hash_env: TIA_AGENT_SECRET_HASH
|
||||
realm: agent-contas
|
||||
|
||||
platform_jwt:
|
||||
mode: jwt
|
||||
key_env: PLATFORM_JWT_PUBLIC_KEY
|
||||
algorithms: [RS256]
|
||||
audience: agent-platform
|
||||
issuer: https://identity.example.com/
|
||||
|
||||
policies:
|
||||
- name: health-public
|
||||
provider: public
|
||||
paths: [/health, /ready, /live]
|
||||
|
||||
- name: tia-agent-api
|
||||
provider: tia_basic
|
||||
paths: [/gateway/message, /gateway/message/sse, /gateway/events/*]
|
||||
methods: [GET, POST]
|
||||
|
||||
- name: admin-api
|
||||
provider: platform_jwt
|
||||
paths: [/debug/*, /admin/*]
|
||||
required_roles: [platform-admin]
|
||||
required_scopes: [agent.admin]
|
||||
|
||||
# Quando nenhuma política casar, rejeita. O default omitido também é deny.
|
||||
default_provider: deny
|
||||
27
apps/agent_gateway/config/backends.a2a.example.yaml
Normal file
27
apps/agent_gateway/config/backends.a2a.example.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
#default_backend: native
|
||||
#backends:
|
||||
# native:
|
||||
# url: http://localhost:8000
|
||||
# description: Agente nativo do framework
|
||||
# keywords: [conta, fatura]
|
||||
# # protocol omitido equivale a native
|
||||
# external:
|
||||
# protocol: a2a
|
||||
# a2a_version: '1.0' # ou '0.3'
|
||||
# url: https://external-agent.example
|
||||
# a2a_rpc_path: /a2a # endpoint definido pelo operador a partir do Agent Card
|
||||
# a2a_agent_card_path: /.well-known/agent-card.json
|
||||
# description: Agente externo A2A
|
||||
# keywords: [suporte]
|
||||
# a2a_headers_env:
|
||||
# Authorization: EXTERNAL_AGENT_AUTHORIZATION # valor completo: Bearer <token>
|
||||
|
||||
default_backend: agent_template
|
||||
|
||||
backends:
|
||||
agent_template:
|
||||
protocol: a2a
|
||||
a2a_version: "1.0"
|
||||
url: http://localhost:8000
|
||||
a2a_rpc_path: /a2a
|
||||
a2a_agent_card_path: /.well-known/agent-card.json
|
||||
38
apps/agent_gateway/config/backends.yaml
Normal file
38
apps/agent_gateway/config/backends.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
default_backend: contas
|
||||
|
||||
backends:
|
||||
contas:
|
||||
url: http://localhost:8000
|
||||
description: Backend responsável por faturas, contas, pagamentos, consumo, segunda via e contestação.
|
||||
domains: [contas, fatura, pagamento, consumo, contestacao]
|
||||
keywords: [fatura, conta, boleto, pagamento, consumo, segunda via, contestar, contestação, valor, cobrança]
|
||||
examples:
|
||||
- Quero consultar minha fatura
|
||||
- Minha conta veio alta
|
||||
- Preciso da segunda via do boleto
|
||||
priority: 10
|
||||
default_agent_id: telecom_contas
|
||||
|
||||
ofertas:
|
||||
url: http://localhost:8001
|
||||
description: Backend responsável por ofertas, planos, upgrades, retenção e contratação.
|
||||
domains: [ofertas, planos, retenção, contratação]
|
||||
keywords: [oferta, plano, contratar, upgrade, desconto, promoção, pacote, retenção, cancelar serviço]
|
||||
examples:
|
||||
- Quero trocar meu plano
|
||||
- Tem alguma oferta para mim?
|
||||
- Quero cancelar um serviço
|
||||
priority: 20
|
||||
default_agent_id: telecom_ofertas
|
||||
|
||||
suporte:
|
||||
url: http://localhost:8002
|
||||
description: Backend responsável por suporte técnico, falhas, rede, internet e atendimento operacional.
|
||||
domains: [suporte, técnico, rede, internet]
|
||||
keywords: [internet, sinal, rede, suporte, técnico, problema, falha, sem conexão, modem]
|
||||
examples:
|
||||
- Minha internet está lenta
|
||||
- Estou sem sinal
|
||||
- Preciso de suporte técnico
|
||||
priority: 30
|
||||
default_agent_id: telecom_suporte
|
||||
56
apps/agent_gateway/config/gateway_governance.yaml
Normal file
56
apps/agent_gateway/config/gateway_governance.yaml
Normal file
@@ -0,0 +1,56 @@
|
||||
model_governance:
|
||||
profiles:
|
||||
default:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0.2
|
||||
max_tokens: 2048
|
||||
|
||||
router:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0
|
||||
max_tokens: 500
|
||||
|
||||
judge:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0
|
||||
max_tokens: 800
|
||||
|
||||
operation_profiles:
|
||||
router.intent: router
|
||||
agent.final_answer: default
|
||||
judge.response_quality: judge
|
||||
|
||||
policies:
|
||||
tenants:
|
||||
default:
|
||||
allowed_providers:
|
||||
- oci_openai
|
||||
- oci_sdk
|
||||
- mock
|
||||
allowed_profiles:
|
||||
- default
|
||||
- router
|
||||
- judge
|
||||
|
||||
rate_limits:
|
||||
default:
|
||||
requests_per_minute: 600
|
||||
channels:
|
||||
whatsapp:
|
||||
requests_per_minute: 120
|
||||
web:
|
||||
requests_per_minute: 300
|
||||
agents:
|
||||
telecom_contas:
|
||||
requests_per_minute: 180
|
||||
|
||||
backend_headers:
|
||||
propagate_model_policy: true
|
||||
propagate_trace_context: true
|
||||
|
||||
evaluation:
|
||||
enabled: true
|
||||
sample_rate: 1.0
|
||||
93
apps/agent_gateway/config/llm_profiles.yaml
Normal file
93
apps/agent_gateway/config/llm_profiles.yaml
Normal file
@@ -0,0 +1,93 @@
|
||||
profiles:
|
||||
default:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0.2
|
||||
max_tokens: 2048
|
||||
supervisor:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0
|
||||
max_tokens: 700
|
||||
route_continuity:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1-mini
|
||||
temperature: 0
|
||||
max_tokens: 80
|
||||
timeout_seconds: 5
|
||||
processing_interruption_classifier:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1-mini
|
||||
temperature: 0
|
||||
max_tokens: 8
|
||||
timeout_seconds: 5
|
||||
router:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0
|
||||
max_tokens: 768
|
||||
guardrail:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0
|
||||
max_tokens: 600
|
||||
grl:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0
|
||||
max_tokens: 700
|
||||
judge:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0
|
||||
max_tokens: 800
|
||||
rag_rewriter:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0
|
||||
max_tokens: 300
|
||||
rag_compressor:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0
|
||||
max_tokens: 1200
|
||||
rag_generation:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0.1
|
||||
max_tokens: 1800
|
||||
summary_memory:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0.1
|
||||
max_tokens: 1200
|
||||
noc:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0
|
||||
max_tokens: 700
|
||||
billing_agent:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0.2
|
||||
product_agent:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0.2
|
||||
backoffice_agent:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1
|
||||
temperature: 0.2
|
||||
mcp_parameter_extraction:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1-mini
|
||||
temperature: 0
|
||||
max_tokens: 80
|
||||
timeout_seconds: 5
|
||||
|
||||
transaction_parameter_extraction:
|
||||
provider: oci_openai
|
||||
model: openai.gpt-4.1-mini
|
||||
temperature: 0
|
||||
max_tokens: 500
|
||||
timeout_seconds: 8
|
||||
Reference in New Issue
Block a user