Abstração de LLM

LLMClientProxy

O LLMClientProxy é o ponto único de acesso a modelos de linguagem no Infinity Copilot. Handlers e agentes nunca chamam um provider diretamente — passam sempre pelo proxy.

Diagrama de abstração de LLM do Infinity Copilot

Providers Suportados

ProviderChave de configuraçãoDescrição
openaiLLM_CLIENT=openaiGPT-4o e demais modelos via Flow API
geminiLLM_CLIENT=geminiGemini Pro / Flash via Flow API
claudeLLM_CLIENT=claudeClaude 3.x via Flow API
bedrockLLM_CLIENT=bedrockModelos AWS Bedrock diretamente
haikuLLM_CLIENT=haikuClaude Haiku via AWS Bedrock
mockaiLLM_CLIENT=mockaiMock para testes — não chama LLM real

Como o Provider é Selecionado

O provider ativo é lido do MongoDB via RemoteSettings, na collection configs, chave LLM_CLIENT.

Como Trocar de Provider

Via migration (recomendado):

# migrations/update_llm_provider.yaml
collection: configs
migration_type: update
key_attributes:
  - key
content:
  - key: LLM_CLIENT
    value: 'gemini'

Via backoffice: acessar a tela de configurações e alterar LLM_CLIENT diretamente.

Alterações de prompt devem ser feitas sempre via migration — nunca diretamente pelo backoffice — para garantir rastreabilidade e reproducibilidade entre ambientes.

Flow API

A maioria dos providers (OpenAI, Gemini, Claude) é acessada via Flow API — uma camada de proxy interna da CI&T que gerencia autenticação, rate limiting e logging. As credenciais são configuradas via variáveis de ambiente FLOW_CLIENT_ID e FLOW_CLIENT_SECRET.