ForgeRouter — Documentação

Configuração de provedores

Como declarar provedores de LLM e prioridades no ForgeRouter.

Provedores são declarados em config/providers.yaml. Cada entrada descreve um provedor, os modelos que ele expõe, e a chave de API usada para autenticar contra ele.

providers:
  - name: meu-provedor-principal
    type: openai-compatible
    base_url: https://api.exemplo.com/v1
    api_key: ${MEU_PROVEDOR_API_KEY}
    priority: 1
    models:
      - id: modelo-grande
        context_window: 128000

  - name: meu-provedor-fallback
    type: openai-compatible
    base_url: https://api.outro-exemplo.com/v1
    api_key: ${OUTRO_PROVEDOR_API_KEY}
    priority: 2
    models:
      - id: modelo-alternativo
        context_window: 32000

priority mais baixa é tentada primeiro. Se o provedor de prioridade 1 estiver fora do ar (ver Roteamento e fallback), o ForgeRouter cai automaticamente pro próximo da lista — o cliente que chamou a API nem percebe, a não ser pelo campo model_used na resposta, que informa qual provedor realmente atendeu aquela chamada.

Variáveis de ambiente dentro do YAML

Qualquer valor no formato ${NOME_DA_VARIAVEL} é resolvido a partir do ambiente do processo — isso evita que chaves de API fiquem hardcoded no arquivo de configuração versionado.

Dashboard opcional (com Postgres)

Se DATABASE_URL estiver definida (ver Instalação), o ForgeRouter passa a ler os provedores do banco em vez do YAML, e um dashboard administrativo web fica disponível para gerenciar provedores, prioridades e ver saúde em tempo real — útil para times que trocam de provedor com frequência sem querer editar arquivo e reiniciar o serviço.