Use a tabela de comparação abaixo para ajudar a decidir qual política usar para seu caso de uso de limitação de taxa:
Cota
SpikeArrest
LLMTokenQuota
PromptTokenLimit
Use para:
Limitar o número de chamadas de proxy de API que um app ou desenvolvedor pode
fazer durante um período específico. É melhor para limitação de taxa em intervalos de tempo mais longos, como dias, semanas ou meses, especialmente quando a contagem precisa é um requisito.
Limitar o número de chamadas de API que podem ser feitas em um proxy de API
em todos os consumidores durante um curto período, como segundos ou
minutos.
Gerenciar e limitar o consumo total de tokens para chamadas de API de LLM durante um
período especificado (minuto, hora, dia, semana ou mês). Isso permite controlar os gastos com LLMs e aplicar um gerenciamento granular de cotas com base em produtos de API.
Proteja o back-end de destino do proxy de API contra abuso de token,
comandos em massa e possíveis tentativas de negação de serviço limitando
a taxa de tokens enviados na entrada ao limitar as solicitações com base no
número de tokens na mensagem de comando do
usuário. É um paradigma comparativo à detenção de pico para tráfego de API, mas para tokens.
Não use para:
Protege o back-end de destino do proxy de API contra picos de tráfego. Use
SpikeArrest ou PromptTokenLimit para isso.
Contar e limitar o número de conexões que os apps podem fazer ao back-end
de destino do proxy da API durante um período específico, principalmente quando
a contagem precisa é necessária.
Protege o back-end de destino do proxy de API contra abuso de token.
Use PromptTokenLimit para isso.
Contar e limitar com precisão o número total de tokens consumidos para faturamento ou gerenciamento de cotas de longo prazo. Use a política LLMTokenQuota para
isso.
Armazena uma contagem?
Sim
Não
Sim, ele mantém contadores que rastreiam o número de tokens consumidos pelas respostas do LLM.
Ele conta tokens para aplicar um limite de taxa, mas não armazena uma contagem persistente de longo prazo, como a política LLMTokenQuota.
Práticas recomendadas para anexar a política:
Anexe-a ao PreFlow de solicitação do ProxyEndpoint,
geralmente após a autenticação do usuário.
Assim, a política pode verificar o contador de cotas no ponto de entrada do proxy de API.
Anexe-a ao PreFlow de solicitação do ProxyEndpoint,
geralmente no início do fluxo.
Isso fornece proteção contra picos no ponto de entrada do proxy da API.
Aplique a política de aplicação (EnforceOnly) no
fluxo de solicitação e a política de contagem
(CountOnly) no fluxo de resposta. Para respostas de streaming, anexe a política de contagem a um EventFlow.
Anexe-a ao PreFlow de solicitação do ProxyEndpoint, no
início do fluxo, para proteger seu back-end contra solicitações grandes demais.
Código de status HTTP quando o limite é atingido:
429 Serviço indisponível
429 Serviço indisponível
429 Serviço indisponível
429 Serviço indisponível
É bom saber:
O contador de cotas é armazenado no Cassandra.
É possível configurar a política para sincronizar o contador
de maneira assíncrona para poupar recursos, mas isso pode permitir que as chamadas excedam levemente
o limite.
Permite que você escolha entre um algoritmo de suavização ou um algoritmo de contagem efetiva. O primeiro suaviza o número de solicitações que podem
ocorrer em um período especificado, e o segundo limita o número total
de solicitações que podem ocorrer em um período especificado, não
importa a rapidez com que são enviadas em sequência.
A suavização não é coordenada entre os processadores de mensagens.
Pode ser configurado como CountOnly para rastrear o uso de tokens ou
EnforceOnly para rejeitar solicitações que excedam a cota.
Ele funciona com produtos de API para permitir configurações granulares de cota com base no app, no desenvolvedor, no modelo ou em um conjunto específico de operações de LLM.
Usa <LLMTokenUsageSource> para extrair a contagem de tokens da resposta do LLM e <LLMModelSource> para identificar o modelo usado.
O cálculo de tokens pode ser um pouco diferente daquele usado pelo LLM.
O elemento <UserPromptSource> especifica o
local do comando do usuário na mensagem da solicitação.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2026-01-05 UTC."],[],[]]