Docs
Fallback automático

Fallback automático

Como o Ignus Code garante alta disponibilidade com retry entre provedores.

O fallback automático é uma das funcionalidades mais importantes do Ignus Code. Quando um provedor falha, o sistema tenta automaticamente o próximo — sem nenhuma alteração no seu código.

Quando o fallback é ativado

O fallback é aplicado para erros recuperáveis:

CódigoSituaçãoRetriado?
429Rate limit do provedor✅ Sim
500Erro interno do provedor✅ Sim
502Bad Gateway✅ Sim
503Serviço indisponível✅ Sim
504Timeout do gateway✅ Sim
400Request inválida❌ Não
401Autenticação inválida❌ Não

Fluxo de fallback

Requisição (model: gpt-4o)
  → OpenAI → 429 Rate Limit
  → Tentativa 1: Anthropic Claude → 200 OK ✅
  → Resposta entregue ao seu app
Requisição (model: gemini-2.0-flash)
  → Google → 503 Service Unavailable
  → Tentativa 1: Rota alternativa → 200 OK ✅

Transparência para o seu código

O fallback é completamente transparente. Seu código não precisa saber qual provedor foi usado:

# Seu código não muda
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Olá!"}],
)
 
# A resposta sempre vem no mesmo formato
print(response.choices[0].message.content)

Mesmo quando o fallback é ativado, o campo model na resposta indica o modelo original solicitado, não o substituto. Isso mantém consistência na sua aplicação.

Ver tentativas no Dashboard

Acesse Dashboard → Logs para ver cada requisição com:

  • Provedor original tentado
  • Motivo do fallback (se aplicável)
  • Provedor que respondeu com sucesso
  • Latência de cada tentativa

Configurar timeout

Por padrão, o motor de roteamento aguarda até 30 segundos por uma resposta antes de tentar o fallback. Você pode reduzir isso via header:

X-Ignus-Timeout: 10000

O valor é em milissegundos (10000 = 10 segundos).