Limitar o uso de token de API de modelo de linguagem grande
APLICA-SE A: Desenvolvedor | Básico | Básico v2 | Padrão | Standard v2 | Premium | Premium v2
A política llm-token-limit
impede picos de uso de API de LLM (modelo de linguagem grande) por chave, limitando o consumo de tokens LLM a um número especificado por minuto. Quando o uso do token é excedido, o chamador recebe um código de status de resposta 429 Too Many Requests
.
Ao depender das métricas de uso de token retornadas do ponto de extremidade de LLM, a política pode monitorar e impor limites com precisão em tempo real. A política também permite o pré-cálculo de tokens de prompt pelo Gerenciamento de API, minimizando solicitações desnecessárias para o back-end do LLM se o limite já estiver excedido.
Observação
Atualmente, essa política está em versão prévia.
Observação
Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Saiba mais sobre como definir e editar as políticas de Gerenciamento de API.
Modelos com suporte
Use a política com APIs de LLM adicionadas ao Gerenciamento de API do Azure que estão disponíveis por meio da API de Inferência do Modelo de IA do Azure.
Declaração de política
<llm-token-limit counter-key="key value"
tokens-per-minute="number"
estimate-prompt-tokens="true | false"
retry-after-header-name="custom header name, replaces default 'Retry-After'"
retry-after-variable-name="policy expression variable name"
remaining-tokens-header-name="header name"
remaining-tokens-variable-name="policy expression variable name"
tokens-consumed-header-name="header name"
tokens-consumed-variable-name="policy expression variable name" />
Atributos
Atributo | Descrição | Obrigatório | Padrão |
---|---|---|---|
counter-key | A chave a ser usada para a política de limite de token. Para cada valor de chave, um único contador é usado para todos os escopos nos quais a política está configurada. Expressões de política são permitidas. | Sim | N/D |
tokens-per-minute | O número máximo de tokens consumidos por prompt e conclusão por minuto. | Yes | N/D |
estimate-prompt-tokens | Valor booliano que determina se é necessário estimar o número de tokens necessários para um prompt: - true : estimar o número de tokens com base no esquema de prompt na API; pode reduzir o desempenho. - false : não estimar tokens de prompt. Quando definido como false , os tokens restantes por counter-key são calculados usando o uso real do token da resposta do modelo. Isso pode resultar em prompts sendo enviados para o modelo que excedem o limite de tokens. Nesse caso, isso será detectado na resposta e todas as solicitações bem-sucedidas serão bloqueadas pela política até que o limite de token seja liberado novamente. |
Yes | N/D |
retry-after-header-name | O nome de um cabeçalho de resposta personalizado cujo valor é o intervalo de repetição recomendado em segundos após o tokens-per-minute especificado ser excedido. Expressões de política não são permitidas. |
No | Retry-After |
retry-after-variable-name | O nome de uma variável que armazena o intervalo de repetição recomendado em segundos após o tokens-per-minute especificado ser excedido. Expressões de política não são permitidas. |
Não | N/D |
remaining-tokens-header-name | O nome de um cabeçalho de resposta cujo valor após cada execução de política é o número de tokens restantes permitidos para o intervalo de tempo. Expressões de política não são permitidas. | Não | N/D |
remaining-tokens-variable-name | O nome de uma variável que após cada execução de política armazena o número de tokens restantes permitidos para o intervalo de tempo. Expressões de política não são permitidas. | Não | N/D |
tokens-consumed-header-name | O nome de um cabeçalho de resposta cujo valor é o número de tokens consumidos pelo prompt e pela conclusão. O cabeçalho é adicionado à resposta somente depois que a resposta é recebida do back-end. Expressões de política não são permitidas. | Não | N/D |
tokens-consumed-variable-name | O nome de uma variável inicializada para o número estimado de tokens no prompt em backend seção do pipeline se estimate-prompt-tokens for true e zero de outra forma. A variável é atualizada com a contagem relatada ao receber a resposta na seção outbound . |
Não | N/D |
Uso
- Seções de política: de entrada
- Escopos de política: global, espaço de trabalho, produto, API, operação
- Gateways: clássico, v2, auto-hospedado, workspace
Observações de uso
- Essa política pode ser usada várias vezes por definição de política.
- Quando disponível, se
estimate-prompt-tokens
for definido comofalse
, os valores na seção de uso da resposta fornecida pela API de LLM serão utilizados para determinar o uso de tokens. - Determinados pontos de extremidade de LLM são compatíveis com o streaming de respostas. Quando
stream
é definido comotrue
na solicitação de API para habilitar o streaming, os tokens de prompt são sempre estimados, independentemente do valor do atributoestimate-prompt-tokens
. - O Gerenciamento de API usa um único contador para cada valor
counter-key
especificado na política. O contador é atualizado em todos os escopos nos quais a política está configurada com esse valor de chave. Se desejar configurar contadores separados em escopos diferentes (por exemplo, uma API ou produto específico), especifique valores de chave diferentes em escopos diferentes. Por exemplo, acrescente uma cadeia de caracteres que identifica o escopo ao valor de uma expressão.
Exemplo
No exemplo a seguir, o limite de token de 5.000 por minuto é chaveado pelo endereço IP do chamador. A política não estima o número de tokens necessários para um prompt. Após cada execução de política, os tokens restantes permitidos para o endereço IP de chamador no período são armazenados na variável remainingTokens
.
<policies>
<inbound>
<base />
<llm-token-limit
counter-key="@(context.Request.IpAddress)"
tokens-per-minute="5000" estimate-prompt-tokens="false" remaining-tokens-variable-name="remainingTokens" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Políticas relacionadas
- Limitação de taxa e cotas
- política azure-openai-token-limit
- Política llm-emit-token-metric
Conteúdo relacionado
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transformar e proteger sua API
- Referência de Política para uma lista completa das instruções de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Repositório de snippets de política
- Kit de ferramentas de políticas do Gerenciamento de API do Azure
- Criar políticas usando o Microsoft Copilot no Azure