Pular para o conteúdo

Troubleshooting

Este guia cobre os problemas mais comuns que você pode encontrar ao usar o gateway Floopy, junto com soluções e estratégias de depuração.

Códigos de Erro

Quando uma requisição falha, o gateway retorna uma resposta de erro estruturada com um código de status HTTP e um código de erro. Use esta tabela para diagnosticar e resolver problemas.

HTTP StatusError CodeSignificadoComo Resolver
400BAD_REQUESTCorpo da requisição malformado ou parâmetros inválidosVerifique a sintaxe JSON, campos obrigatórios (model, messages)
400PROMPT_THREAT_DETECTEDO firewall de LLM bloqueou o promptRevise o conteúdo do prompt, ajuste o limite do firewall ou desative com floopy-llm-security-enabled: false
401INVALID_API_KEYAPI key ausente, inválida ou revogadaVerifique o header Authorization, confirme a key em Settings > API Keys
403FORBIDDENA key não tem permissão para esta operaçãoVerifique as permissões da API key em Settings
403SUBSCRIPTION_EXPIREDO plano expirouRenove a assinatura em Settings > Billing
429RATE_LIMIT_EXCEEDEDMuitas requisiçõesAguarde a duração do header Retry-After. Verifique os rate limits em Settings > API Keys
429USAGE_LIMIT_EXCEEDEDLimite de tokens ou custo atingidoAumente os limites ou aguarde o reset
429MONTHLY_LIMIT_EXCEEDEDCota mensal de requisições esgotadaFaça upgrade do plano ou habilite cobrança de excedente
502PROVIDER_ERRORO provider de LLM upstream retornou um erroVerifique o header Floopy-Provider, tente outro modelo, configure fallbacks
504GATEWAY_TIMEOUTO provider não respondeu a tempoAumente o timeout, configure fallbacks para providers mais rápidos

Dicas de Depuração

  • Verifique os headers de resposta: Floopy-Provider e Floopy-Model informam qual provider atendeu a requisição.
  • Use a página de Requests: cada requisição é registrada com detalhes completos — clique em uma requisição para ver spans, headers e corpo do erro.
  • Teste no Playground: isole problemas de prompt testando no Playground do dashboard.
  • Habilite tracing: o tracing distribuído mostra o pipeline completo (auth -> cache -> firewall -> routing -> provider).

Problemas Comuns

Minha requisição funciona direto com a OpenAI mas falha pelo Floopy

  • Verifique se o provider está configurado em Settings > Providers.
  • Confirme que o nome do modelo corresponde exatamente (o Floopy usa isso para resolver o provider).
  • Verifique se a requisição usa recursos não suportados pelo provider (ex.: response_format com alguns providers).

Estou recebendo cache hits mas não quero

  • Envie o header Floopy-Cache-Enabled: false para ignorar o cache.
  • Ou desative o cache no nível da API key em Settings.

Minhas variáveis de prompt não estão sendo substituídas

  • Certifique-se de que está enviando o header floopy-prompt-id.
  • Passe os valores das variáveis no campo inputs do corpo da requisição (não no conteúdo da mensagem).
  • Os nomes das variáveis devem corresponder exatamente: {{name}} no template precisa de "name" em inputs.

O rate limiting está muito agressivo

  • O rate limit padrão da organização é 10.000 RPM. Verifique Settings > API Keys para limites por key.
  • Use o header floopy-ratelimit-policy para substituições por requisição.

O fallback não está funcionando

  • Certifique-se de que múltiplos providers estão configurados.
  • Verifique o estado do circuit breaker em GET /health/providers.
  • Confirme que a regra de roteamento tem uma estratégia de fallback com múltiplos providers.

FAQ

O Floopy adiciona latência?

O gateway adiciona ~2–5ms de overhead. Cache hits retornam em menos de 10ms. O firewall LLM agora roteia pelo BackendRouter (configurado via FIREWALL_MODEL); a latência depende do backend escolhido, com o cache de vereditos no Qdrant evitando chamadas repetidas para prompts inseguros conhecidos.

Meus dados são armazenados?

Logs de request/response são armazenados no ClickHouse para observabilidade. O cache armazena respostas no Redis/Qdrant. Você controla a retenção em Settings. API keys dos providers são criptografadas em repouso.

Posso usar o Floopy com endpoints que não são de chat?

Atualmente apenas POST /v1/chat/completions é suportado. Embeddings, images e outros endpoints estão planejados.

O que acontece se o Floopy cair?

Se o gateway estiver inacessível, seu SDK receberá um erro de conexão. Recomendamos configurar sua aplicação com um fallback direto para o provider em caminhos críticos.