############################################################################### # AI AGENT PLATFORM - CONFIGURAÇÃO ÚNICA # Este arquivo é lido por Pydantic Settings no framework e no backend template. ############################################################################### APP_NAME=ai-agent-template APP_ENV=local LOG_LEVEL=INFO API_HOST=0.0.0.0 API_PORT=8000 CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 ############################################################################### # LLM - OCI Generative AI como provider principal ############################################################################### # Opções: mock, oci_openai, oci_sdk, openai_compatible LLM_PROVIDER=oci_openai LLM_TEMPERATURE=0.2 LLM_MAX_TOKENS=2048 LLM_TIMEOUT_SECONDS=120 # OCI OpenAI-compatible endpoint OCI_GENAI_BASE_URL=https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1 OCI_GENAI_MODEL=openai.gpt-4.1 OCI_GENAI_API_KEY=sk-ph3FgX6iP3fxAQCXb9IpPIDTadkeeYAWntUWhzcWysIM6zsS OCI_GENAI_PROJECT_OCID= # OCI SDK / signer / profiles OCI_CONFIG_FILE=~/.oci/config OCI_PROFILE=LATINOAMERICA-Chicago OCI_COMPARTMENT_ID=ocid1.compartment.oc1..aaaaaaaaexpiw4a7dio64mkfv2t273s2hgdl6mgfvvyv7tycalnjlvpvfl3q OCI_REGION=us-chicago-1 ############################################################################### # Persistência ############################################################################### # Opções: memory, autonomous, mongodb SESSION_REPOSITORY_PROVIDER=autonomous MEMORY_REPOSITORY_PROVIDER=autonomous CHECKPOINT_REPOSITORY_PROVIDER=autonomous # Autonomous Database ADB_USER=admin ADB_PASSWORD=Moniquinha1972 ADB_DSN=oradb23ai_high ADB_WALLET_LOCATION=/mnt/d/Dropbox/ORACLE/LatinoAmerica/Wallet_ORADB23ai ADB_WALLET_PASSWORD=Moniquinha1972 ADB_TABLE_PREFIX=AGENTFW # MongoDB - também pode representar Autonomous usando API compatível com Mongo, se habilitada no ambiente MONGODB_URI=mongodb://mongo:mongopassword@localhost:27017 MONGODB_DATABASE=agent_platform # Redis REDIS_URL=redis://localhost:6379/0 ENABLE_REDIS_CACHE=false ############################################################################### # RAG / Vector / Graph ############################################################################### VECTOR_STORE_PROVIDER=memory GRAPH_STORE_PROVIDER=memory RAG_TOP_K=5 EMBEDDING_PROVIDER=mock OCI_EMBEDDING_MODEL=cohere.embed-multilingual-v3.0 ############################################################################### # Observabilidade ############################################################################### ENABLE_LANGFUSE=true LANGFUSE_PUBLIC_KEY=pk-lf-bd9b0c7e-2b8b-4e5b-a382-284a9b4413b3 LANGFUSE_SECRET_KEY=sk-lf-5f5cc18d-0bb5-424e-b5d0-cb3664d58c20 LANGFUSE_HOST=http://localhost:3005 ENABLE_OTEL=false OTEL_EXPORTER_OTLP_ENDPOINT= OTEL_SERVICE_NAME=ai-agent-template ############################################################################### # Analytics / Observer corporativo ############################################################################### # Quando true, AgentObserver publica eventos IC.*, NOC.* e GRL.* nos providers abaixo. ENABLE_ANALYTICS=false # Providers aceitos: oci_streaming,pubsub,noop ANALYTICS_PROVIDERS=oci_streaming # Compatibilidade FIRST/TIM: pode informar AGENT_PUBSUB_TOPIC diretamente. AGENT_PUBSUB_TOPIC= GCP_PUBSUB_TOPIC_PATH= GCP_PROJECT_ID= GCP_PUBSUB_TOPIC= GCP_PUBSUB_TIMEOUT_SECONDS=30 # Credencial GCP segue padrão Google: # GOOGLE_APPLICATION_CREDENTIALS=/secrets/gcp-service-account.json ############################################################################### # OCI Streaming ############################################################################### ENABLE_OCI_STREAMING=false OCI_STREAM_ENDPOINT= OCI_STREAM_OCID= OCI_STREAM_PARTITION_KEY=agent-events ############################################################################### # Guardrails, Judges, Supervisor ############################################################################### ENABLE_INPUT_GUARDRAILS=true ENABLE_OUTPUT_GUARDRAILS=true ENABLE_JUDGES=true ENABLE_SUPERVISOR=true ENABLE_OUTPUT_SUPERVISOR=true ENABLE_PARALLEL_GUARDRAILS=true GUARDRAILS_FAIL_FAST=true OUTPUT_SUPERVISOR_MAX_RETRIES=3 GUARDRAILS_CONFIG_PATH=./config/guardrails.yaml JUDGES_CONFIG_PATH=./config/judges.yaml PROMPT_POLICY_PATH=./config/prompt_policy.yaml ############################################################################### # Gateway de canais ############################################################################### DEFAULT_CHANNEL=web ENABLE_VOICE_ADAPTER=true ENABLE_WHATSAPP_ADAPTER=true ENABLE_TEXT_ADAPTER=true ################################################# # ENTERPRISE ROUTING ################################################# # Arquivo YAML com intents, keywords, políticas de estado e fallback. ROUTING_CONFIG_PATH=./config/routing.yaml # true = usa LLM para classificar quando keywords/estado não resolverem. # Em produção, costuma ser útil; em desenvolvimento, false evita custo e latência. ENABLE_LLM_ROUTER=true ############################################################################### # MCP / Tools ############################################################################### ENABLE_MCP_TOOLS=true MCP_SERVERS_CONFIG_PATH=./config/mcp_servers.yaml TOOLS_CONFIG_PATH=./config/tools.yaml MCP_TOOL_TIMEOUT_SECONDS=30 # router = EnterpriseRouter seleciona um agente; supervisor = pode acionar múltiplos agentes ROUTING_MODE=router # Usage/cost accounting USAGE_REPOSITORY_PROVIDER=autonomous IDENTITY_CONFIG_PATH=./config/identity.yaml MCP_PARAMETER_MAPPING_PATH=./config/mcp_parameter_mapping.yaml ############################################################################### # BACKOFFICE CONVERTIDO - CHAVES ADICIONADAS A PARTIR DO .env.example # Valores existentes no .env original foram preservados. Revise placeholders. ############################################################################### # Framework DEFAULT_AGENT_ID=backoffice_anatel ENABLE_SSE=true SQLITE_DB_PATH=.local/backoffice_framework.db LLM_MODEL=cohere.command-r-08-2024 # OCI OpenAI-compatible endpoint/credentials. Preencha conforme seu Agent Framework. OCI_OPENAI_BASE_URL=https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/chat OCI_OPENAI_API_KEY=sk-ph3FgX6iP3fxAQCXb9IpPIDTadkeeYAWntUWhzcWysIM6zsS # OPENAI_API_KEY= OCI_CONFIG_PROFILE=LATINOAMERICA-Chicago # OCI_REGION=us-chicago-1 # OCI_COMPARTMENT_ID=ocid1.compartment.oc1..aaaaaaaaexpiw4a7dio64mkfv2t273s2hgdl6mgfvvyv7tycalnjlvpvfl3q # MCP MCP_ENABLED=true DEBUG=true # IMDB_API_HOST= # SIEBEL_API_HOST= # SIEBEL_API_ROUTE= # SIEBEL_STATUS_API_HOST= # SIEBEL_PREPAGO_STATUS_API_HOST= # SPEECH_ANALYTICS_API_HOST= # TAIS_KB_DB_USER= # TAIS_KB_DB_PASSWORD= # TAIS_KB_DSN= # OCI_REQUEST_STREAM_OCID= # OCI_RESPONSE_STREAM_OCID= # OCI_CONSUMER_GROUP_NAME= # MCP Server local do backoffice # O backend principal chama esse endpoint pelo MCPToolRouter do framework. BACKOFFICE_MCP_BASE_URL=http://localhost:8010 BACKOFFICE_MCP_USE_MOCK=false BACKOFFICE_MCP_BACKEND_TYPE=tim_clients BACKOFFICE_MCP_FAIL_OPEN_ON_BACKEND_ERROR=true # TIM/develop original - preencha no .env real, nunca versionar segredos. PMID_API_HOST=http://localhost:8011/access/v1/info PMID_API_BASIC_TOKEN=Basic dGlteDpAckp1SkpAcFJPUiM= PMID_API_TIMEOUT=10 PMID_API_CLIENT_ID=AIAGENTCR SIEBEL_API_HOST=http://localhost:8011 SIEBEL_API_ROUTE=/customers/v1/backOfficeSRopening SIEBEL_API_TIMEOUT=10 SIEBEL_API_USERNAME=aiagentcr SIEBEL_API_PASSWORD=AiAgentCR#FQA# SIEBEL_API_CLIENT_ID=AIAGENTCR SIEBEL_STATUS_API_HOST=https://locahost:8011 SIEBEL_STATUS_API_ROUTE=/interactions/v1/statusServiceRequest SIEBEL_PREPAGO_STATUS_API_HOST=https://localhost:8011 SIEBEL_PREPAGO_STATUS_API_ROUTE=/customers/v1/serviceRequest VERIFY_SSL=false SPEECH_PREDICTION_BASE_URL=https://apigatewayfqa1.tim.com.br SPEECH_PREDICTION_CLIENT_ID=TzlzCbMGNKpGXl7oUDAlE66eL3ZGmWBtuHMjgsClMoDNdmLz SPEECH_PREDICTION_CLIENT_SECRET=ZIgIIxsn3CG7ra9HiOLSLygRzcgcivIMsoo4kwqLo9MtQBtNnmUadNpUx81ABkEm SPEECH_HISTORY_BASE_URL=https://run-external-speech-analytics-audio-toxico-49911170294.us-east1.run.app SPEECH_HISTORY_AUDIENCE=https://run-external-speech-analytics-audio-toxico-49911170294.us-east1.run.app GOOGLE_APPLICATION_CREDENTIALS=/Users/cristianohoshikawa/Dropbox/ORACLE/TIM/compass/lab_backoffice/config/gcp-credentials-local.json SPEECH_TIMEOUT=30 SPEECH_SIMILARITY_THRESHOLD=70 TAIS_DB_USER=admin TAIS_DB_PASSWORD=Moniquinha1972 TAIS_DB_DSN=" (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.sa-saopaulo-1.oraclecloud.com))(connect_data=(service_name=jy2otyfomimhaoc_oradb23ai_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))" TAIS_DB_TIMEOUT=30 TAIS_GENAI_ENDPOINT=https://inference.generativeai.us-chicago-1.oci.oraclecloud.com TAIS_GENAI_COMPARTMENT_ID=ocid1.compartment.oc1..aaaaaaaaexpiw4a7dio64mkfv2t273s2hgdl6mgfvvyv7tycalnjlvpvfl3q TAIS_GENAI_EMBED_MODEL_ID=cohere.embed-multilingual-v3.0 TAIS_TABLE_CHUNKS=CHUNKS_CHAR_COHERE_3 TAIS_TOP_K=3 # LLM CLASSIFICATION CLASSIFICATION_LLM_MODEL=openai.gpt-4.1 CLASSIFICATION_LLM_TEMPERATURE=0.3 CLASSIFICATION_LLM_MAX_TOKENS=2000 CLASSIFICATION_LLM_TOP_P=0.9 CLASSIFICATION_LLM_TOP_K=250 CLASSIFICATION_LARGE_LLM_MODEL=openai.gpt-4.1 CLASSIFICATION_LARGE_LLM_TEMPERATURE=0.3 CLASSIFICATION_LARGE_LLM_MAX_TOKENS=4000 CLASSIFICATION_LARGE_LLM_TOP_P=0.9 CLASSIFICATION_LARGE_LLM_TOP_K=250 USE_FULL_ANATEL_DICT=true