Skip to Content

Failover

O mecanismo de failover do OfoxAI troca automaticamente para um modelo alternativo quando o modelo principal está indisponível, garantindo que o seu serviço não seja interrompido.

Como funciona

  1. A requisição é enviada ao modelo principal
  2. Se o modelo principal retornar um erro (5xx, timeout, limitação de taxa etc.)
  3. os modelos da lista de fallback são tentados sequencialmente
  4. A primeira resposta bem-sucedida é retornada

Fallback por requisição

Configure o fallback para uma requisição individual usando o parâmetro provider.fallback:

fallback.py
from openai import OpenAI client = OpenAI( base_url="https://api.ofox.ai/v1", api_key="<Sua OFOXAI_API_KEY>" ) response = client.chat.completions.create( model="openai/gpt-4o", # Modelo principal messages=[{"role": "user", "content": "Olá"}], extra_body={ "provider": { "fallback": [ "anthropic/claude-sonnet-4.5", # Primeira alternativa "google/gemini-3-flash-preview" # Segunda alternativa ] } } ) # Verificar o modelo efetivamente utilizado print(response.model)
fallback.ts
const response = await client.chat.completions.create({ model: 'openai/gpt-4o', messages: [{ role: 'user', content: 'Olá' }], // @ts-ignore Parâmetro de extensão OfoxAI provider: { fallback: [ 'anthropic/claude-sonnet-4.5', 'google/gemini-3-flash-preview' ] } })

Configuração global de fallback

Configure uma estratégia global de fallback no painel do OfoxAI, sem precisar especificar em cada requisição:

  1. Faça login no Painel OfoxAI 
  2. Acesse ConfiguraçõesEstratégia de roteamento
  3. Configure a lista padrão de modelos de fallback

O parâmetro fallback no nível da requisição sobrepõe a configuração global.

Condições de ativação

As seguintes situações ativam o fallback:

CondiçãoDescrição
HTTP 5xxErro do servidor
TimeoutTempo de resposta do modelo esgotado
429 ThrottleLimite de taxa atingido no modelo upstream
Modelo indisponívelManutenção ou desativação pelo provedor

As seguintes situações não ativam o fallback:

CondiçãoDescrição
HTTP 4xx (exceto 429)Erros do cliente exigem correção na requisição
Filtragem de conteúdoConteúdo recusado pelo modelo

Combinação com roteamento

O mecanismo de fallback pode ser combinado com o roteamento de provedores:

response = client.chat.completions.create( model="openai/gpt-4o", messages=[{"role": "user", "content": "Olá"}], extra_body={ "provider": { "routing": "latency", # Roteamento otimizado por latência "fallback": [ # Lista de fallback "anthropic/claude-sonnet-4.5", "google/gemini-3-flash-preview" ] } } )

Cenários recomendados de fallback

Conversação geral

"provider": { "fallback": ["anthropic/claude-sonnet-4.5", "google/gemini-3-flash-preview"] }

Geração de código

"provider": { "fallback": ["anthropic/claude-sonnet-4.5", "deepseek/deepseek-chat"] }

Melhor custo-benefício

"provider": { "fallback": ["openai/gpt-4o-mini", "google/gemini-3-flash-preview", "deepseek/deepseek-chat"] }

Boas práticas

  1. Escolha modelos alternativos com capacidade semelhante — Para manter a qualidade das respostas após o fallback
  2. Configure fallback entre provedores diferentes — Evite que modelos do mesmo provedor fiquem indisponíveis simultaneamente
  3. Defina 2 a 3 alternativas — Suficiente para a maioria dos cenários de falha
  4. Monitore a frequência de fallback — Fallbacks frequentes podem indicar a necessidade de trocar o modelo principal
Last updated on