Pular para o conteúdo

Referência de Headers

O Floopy utiliza headers HTTP personalizados para controlar o comportamento do gateway por requisição. Envie esses headers junto com os headers padrão Authorization e Content-Type ao chamar o gateway.

Headers de Requisição

Headers de Cache

Controlam como o gateway faz cache de requisições e respostas.

HeaderTipoDescriçãoExemplo
Floopy-Cache-EnabledbooleanAtiva ou desativa o cache exato para esta requisição.true
Floopy-Cache-SeedstringIsola entradas do exact cache por valor de seed. Os niveis semantic e advanced buscam por similaridade de embedding e nao sao afetados pelo seed.deterministic-seed-abc
Floopy-Cache-Bucket-Max-SizeintegerNúmero máximo de respostas em cache armazenadas por chave de cache.3
Floopy-Cache-Ignore-KeysstringLista separada por vírgula de chaves de mensagem a ignorar ao computar a chave de cache.timestamp,request_id
floopy-cache-advancedbooleanAtiva o cache semântico avançado (baseado em Qdrant). Encontra requisições por significado em vez de conteúdo exato.true
cache-controlstringHeader padrão HTTP cache-control. Usado para sobrescrever o TTL padrão.max-age=3600

Headers de Prompt

Referenciam prompts gerenciados da biblioteca de prompts do Floopy.

HeaderTipoDescriçãoExemplo
floopy-prompt-idstring (UUID)O UUID de um prompt da biblioteca de prompts. O gateway o resolve e injeta no momento da requisição.e51a2820-8ab5-4d6a-96a0-cc7bb4759371
floopy-prompt-versionintegerFixa uma versão específica do prompt. Se omitido, o gateway usa a versão mais recente.2

Campo do Body: inputs

Ao usar um prompt gerenciado com floopy-prompt-id, você pode enviar um objeto inputs no body JSON da requisição para preencher as variáveis do template. O gateway substitui os placeholders {{key}} no template do prompt pelos valores correspondentes de inputs.

{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "placeholder"}],
"inputs": {
"language": "English",
"topic": "quantum computing"
}
}

Ordem de resolução: valores de inputs têm prioridade, depois os valores padrão do template na configuração do prompt, e por último o placeholder é mantido como está. O campo inputs é removido antes que a requisição chegue ao provedor LLM.

Consulte o guia de Gerenciamento de Prompts para exemplos completos.

Headers de Segurança

Ativam o firewall LLM para verificar prompts contra ataques de injeção e conteúdo inseguro.

HeaderTipoDescriçãoExemplo
floopy-llm-security-enabledbooleanExecuta o LLM firewall para esta requisicao. O firewall envia o prompt a um modelo ajustado para seguranca (configurado por FIREWALL_MODEL) e bloqueia qualquer classificado como unsafe. Um cache de vereditos no Qdrant evita chamadas repetidas para prompts inseguros conhecidos.true

Headers de Tratamento de Tokens (Em Breve)

Controlam como o gateway lida com requisições que excedem a janela de contexto do modelo. Esta funcionalidade está planejada e ainda não está disponível.

HeaderTipoDescriçãoExemplo
Floopy-Token-Limit-Exception-HandlerstringEstratégia a aplicar quando a requisição excede o limite de tokens do modelo.truncate

As três estratégias planejadas são:

  • truncate — Remove mensagens do início da conversa para caber no limite de tokens do modelo. A mensagem de sistema e as mensagens mais recentes são preservadas.
  • middle-out — Mantém a primeira e a última mensagem da conversa e remove as mensagens do meio. Útil quando tanto o contexto inicial quanto a mensagem mais recente do usuário são importantes.
  • fallback — Troca para um modelo com uma janela de contexto maior em vez de modificar as mensagens. O gateway seleciona um modelo apropriado do mesmo provedor.

Headers de Roteamento

Sobrescrevem o comportamento de roteamento padrão para uma única requisição.

HeaderTipoDescriçãoExemplo
floopy-model-overridestringSobrescreve o modelo sem alterar o body da requisição.gpt-4o-mini
floopy-routing-rulestring (UUID)Sobrescreve a regra de roteamento aplicada a esta requisição.a3f1b2c4-5678-9def-ghij-klmnopqrstuv
floopy-ab-teststring (UUID)ID do teste A/B. O gateway resolve a variante atribuída para esta requisição.b7e2c3d4-1234-5678-abcd-ef0123456789
floopy-smart-selectstring (UUID)ID do Smart Selector. O gateway escolhe o melhor modelo com base na configuração do seletor.c8f3d4e5-2345-6789-bcde-f01234567890

Headers de Rate Limit

Sobrescrevem a política de rate limit padrão para uma única requisição.

HeaderTipoDescriçãoExemplo
floopy-ratelimit-policystringPolítica de rate limit personalizada para esta requisição.100;w=60;u=request;s=global

O formato da política é <limit>;w=<window>;u=<unit>;s=<segment>:

  • limit — O número máximo de unidades permitidas dentro da janela.
  • w (window) — Janela de tempo em segundos. A janela mínima é de 60 segundos.
  • u (unit) — A unidade a ser contada: request (número de requisições) ou cents (custo em centavos).
  • s (segment) — Como segmentar o limite: global (compartilhado entre todos os usuários), user (por usuário final via floopy-user-id) ou custom (por chave personalizada).

Exemplo: 100;w=60;u=request;s=global significa 100 requisições por 60 segundos, aplicado globalmente.

Escopo de Projeto

Segmenta requisições por projeto para rastreamento de custos e analytics por projeto.

HeaderTipoDescriçãoExemplo
floopy-project-idstring (UUID)Identificador do projeto. Marca a requisição com um projeto para alocação de custos e filtragem no dashboard. Se a chave de API está travada em um projeto, esse header é opcional. Um UUID divergente retorna 403.a1b2c3d4-5678-9abc-def0-123456789abc

Veja o guia de Projetos para a cadeia de fallback completa e modelo de ambientes.

Headers de Sessão e Propriedades

Anexam metadados de sessão e propriedades customizadas às requisições para rastreamento e analytics.

HeaderTipoDescriçãoExemplo
floopy-user-idstringIdentificador do usuário final. Usado para rate limiting por usuário e analytics.user-alice-001
floopy-session-idstringIdentificador de sessão. Agrupa requisições relacionadas.sess-abc123
floopy-session-namestringNome legível da sessão para exibição no dashboard.math-tutoring
floopy-session-pathstringCaminho ou localização da sessão dentro da sua aplicação./dashboard/math
floopy-property-*stringHeader de propriedade customizada. Qualquer sufixo após floopy-property- se torna a chave da propriedade.floopy-property-usertier: premium

Propriedades customizadas aparecem no dashboard de observabilidade e podem ser usadas para filtrar e agrupar requisições.

Headers de Resposta

O gateway adiciona esses headers a cada resposta. Eles fornecem metadados sobre como a requisição foi processada.

HeaderDescriçãoExemplo
Floopy-ProviderO provedor que processou a requisição.OpenAI
Floopy-ModelO modelo que processou a requisição.gpt-4o
Floopy-Fallback-UsedSe um provedor de fallback foi utilizado porque o primário estava indisponível.true
Floopy-Reasoning-TokensNúmero de tokens de raciocínio utilizados (modelos DeepSeek).150
Floopy-Queue-TimeTempo que a requisição ficou na fila do provedor, em segundos (Groq).0.5
Floopy-Prompt-TimeTempo gasto processando o prompt, em segundos (Groq).0.2
Floopy-Completion-TimeTempo gasto gerando a completion, em segundos (Groq).1.3