orcarouter/{name}
e o OrcaRouter o resolve para um modelo concreto no momento da
requisição, com base nas regras que você configurou.
Isso é útil quando você quer:
- Trocar o comportamento de roteamento sem reimplantar seu app (mude o roteador no painel; seu código permanece o mesmo).
- Permitir que equipes ou serviços diferentes escolham sua própria política de roteamento independentemente do aplicativo que chama a API.
- Referenciar lógica de roteamento que é complexa demais para
inline em
extra_body.
Usando um roteador
X-Orca-Router e X-Orca-Resolved-Model —
veja Cabeçalhos de resposta. O campo
model no próprio corpo da resposta reflete o que o upstream
retornou (frequentemente o nome upstream puro, ex.:
gpt-4o-mini-2024-07-18).
Criando um roteador
Roteadores são criados no painel em Routing. Cada roteador tem:- Nome — o
{name}emorcarouter/{name}. Deve ser único dentro do seu workspace; letras minúsculas, dígitos,_e-(1-50 caracteres). O nomeorcarouteré reservado. - Modelos permitidos — um ou mais padrões glob (separados por
vírgula ou nova linha, case-insensitive) limitando quais modelos
este roteador pode escolher. Exemplos:
openai/*ouopenai/*, anthropic/claude-haiku-*. Vazio combina com todo modelo ao qual sua conta tem acesso. - Estratégia — como escolher entre os modelos correspondentes. Veja Estratégias abaixo.
- Modelos mundanos / Modelos difíceis — listas adicionais de modelos usadas apenas pela estratégia Adaptive · Gated. Veja Adaptive abaixo.
- Modelo padrão — um modelo de rede de segurança usado se o padrão resolver para nada.
- Habilitado — desabilita o roteador sem excluí-lo.
Estratégias
O editor expõe quatro cartões de estratégia. Adaptive agrupa dois sub-modos de backend, para um total de cinco valores de enum que você pode persistir via API.Cheapest
Escolhe o modelo com o menor preço por token entre candidatos ativos. Padrão para o roteador semeadoorcarouter/auto. Melhor quando você
quer o modelo de chat ativo mais barato em toda requisição e não se
importa com consistência de estilo de saída entre chamadas.
Quality
Escolhe o modelo com a maior pontuação de qualidade entre candidatos ativos, independentemente do preço. Melhor quando a qualidade de saída domina o custo.Balanced
Escolhe uma opção de baixo custo que ainda atende a uma barra de qualidade; se nada atender à barra, cai para a opção de maior qualidade. Padrão para novos roteadores que você cria. Funciona sem ajuste por roteador.Adaptive
Um bandit contextual LinUCB por roteador que aprende com seu tráfego real de produção. Pondera qualidade, custo, latência e confiabilidade por requisição para escolher o melhor modelo. Novos roteadores se comportam como Balanced durante um breve período de cold-start (warm-up por modelo) antes que o bandit comece a guiar as escolhas — isso é esperado, não um bug. Dois sub-modos:- Standard (enum da API:
linucb) — considera todo modelo Permitido para cada requisição. Melhor quando o tráfego é aproximadamente uniforme e você quer que o roteador encontre a melhor opção em toda a sua lista. - Gated (enum da API:
gated_adaptive) — as requisições são primeiro classificadas como mundanas ou difíceis; requisições mundanas extraem de um pool menor de Modelos mundanos, requisições difíceis do pool mais forte de Modelos difíceis, e requisições de dificuldade média da lista Permitida completa. Melhor quando seu tráfego mistura chamadas simples e complexas. Cada pool é interseccionado com os modelos Permitidos; pools vazios ou sem sobreposição caem silenciosamente de volta para a lista Permitida completa, então as requisições nunca passam fome. Configure os dois pools (weak_poolestrong_poolno nível da API — até 2000 caracteres cada) no editor quando você escolher Gated.
Roteador semeado: orcarouter/auto
Toda conta OrcaRouter é semeada com um roteador padrão chamado
auto no cadastro — veja
Roteador automático. Você pode usá-lo
imediatamente sem qualquer configuração.