Como usar
Coloque uma lista ordenada de IDs de modelo emextra_body.models e
defina extra_body.route como "fallback". O campo principal
model ainda importa — é a primeira tentativa — mas o OrcaRouter o
ignora em favor da cadeia se a cadeia estiver presente.
Regras
- Máximo de 5 modelos na cadeia. Extras são silenciosamente truncados.
- Recomendado: todos os modelos em uma cadeia devem ser do mesmo
tipo de endpoint (todos de chat, ou todos de imagem). Misturar um
modelo de chat com um modelo de imagem não quebrará o gateway, mas
o fallback que realmente serve a requisição precisa corresponder ao
endpoint que você chamou (ex.: se você chama
/v1/chat/completions, apenas modelos de chat na cadeia são utilizáveis). - Comportamento de fallback:
- Entradas
orcarouter/{name}não resolvíveis (nome inválido, roteador desabilitado) são silenciosamente puladas. - Modelos que a chave chamadora não pode acessar (mismatch de allowlist de modelo) são silenciosamente pulados.
- Quando o modelo principal falha no upstream (5xx / 429 / erro de rede), a próxima entrada da cadeia é tentada.
- A requisição falha apenas quando todas as entradas da cadeia se esgotaram.
- Ressalva de streaming: uma vez que qualquer byte da resposta tenha sido enviado ao cliente, o fallback não pode mais entrar em ação — se o upstream cair no meio do stream, o cliente vê um stream truncado, não uma nova tentativa transparente no próximo modelo.
- Entradas
- O faturamento acontece para o modelo que realmente serviu a resposta, à taxa daquele modelo — não a do principal.
extra_body.routedeve ser exatamente"fallback"para a cadeia ser ativada. Qualquer outro valor (ou ausente) → a cadeia é ignorada e apenas omodelde nível superior é usado.
Como saber qual modelo serviu a resposta
Verifique os cabeçalhos de respostaX-Orca-Fallback-Level e
X-Orca-Fallback-Model. Veja
Cabeçalhos de resposta.
Quando não usar isso
Se você quer que o OrcaRouter automaticamente escolha o modelo disponível mais barato sem escrever uma cadeia, useorcarouter/auto em vez disso. As cadeias
de fallback são para casos em que você quer controle explícito sobre
a ordem.