Gerenciamento de tokens
Imagine que você recebe um aumento repentino no tráfego para sua API, talvez devido a uma promoção ou algum outro motivo. Para evitar o consumo excessivo e uma possível interrupção do serviço, você precisa descobrir como gerenciar isso.
Política de Limite de Tokens do Serviço OpenAI do Azure
Como mencionado no início desta unidade, o aumento repentino é algo que você precisa lidar. A boa notícia é que o Gerenciamento de API do Azure tem algo chamado Política de Limite de Tokens.
Essa política permite que os clientes definam limites no consumo de tokens, expressos em tokens por minuto (TPM) e garante uma utilização justa e eficiente dos recursos do OpenAI.
Principais recursos
Os principais recursos dessa política são:
- Controle Preciso: Os clientes podem atribuir limites baseados em tokens a várias chaves de contagem, como chave de Assinatura ou Endereço IP, adaptando a imposição a casos de uso específicos.
- Monitoramento em Tempo Real: A política se baseia em métricas de uso de tokens retornadas pelo ponto de extremidade do OpenAI, permitindo um monitoramento e imposição precisos dos limites em tempo real.
- Pré-Cálculo de Tokens: Permite o pré-cálculo de tokens de prompt no lado do Gerenciamento de API do Azure, minimizando solicitações desnecessárias ao back-end do OpenAI se o limite já tiver sido excedido.
- Personalização Avançada: Os clientes podem aplicar cabeçalhos e variáveis, como tokens-consumidos e tokens-restantes, dentro de políticas para melhor controle e personalização.
Como você pode ver, há vários recursos que ajudam a gerenciar custos e, graças ao monitoramento em tempo real, você pode garantir que não está excedendo os limites.
Como usá-lo
Para usar essa política, você precisará adicioná-la ao pipeline de processamento de entrada da operação da API. Veja como fazer isso:
<azure-openai-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" />
Há vários atributos que você pode configurar, mas os mais importantes são:
- counter-key: A chave a ser utilizada para contar tokens. Esse valor pode ser uma chave de assinatura ou um endereço IP.
- tokens-per-minute: O número de tokens permitidos por minuto.
- estimate-prompt-tokens: Se deve ou não estimar os tokens de prompt.
Política de Métrica de Emissão de Tokens do Serviço OpenAI do Azure
Essa política aborda a necessidade de monitoramento detalhado e análise do uso de tokens em aplicativos que utilizam modelos do OpenAI do Azure.
Ao fornecer métricas abrangentes, ela ajudará as organizações a:
- Otimizar a Alocação de Recursos: Entender e gerenciar o consumo de tokens de forma eficaz.
- Aprimorar a Tomada de Decisões: Obter insights sobre padrões de uso para tomar decisões informadas sobre escala e gerenciamento de recursos.
- Aprimorar o Monitoramento de Desempenho: Acompanhar e analisar o uso de tokens para identificar e resolver proativamente possíveis problemas
Como usar a Política de Métrica de Emissão de Tokens
Para usar essa política, você precisará adicioná-la ao pipeline de processamento de entrada da operação da API. Aqui está como codificá-la em XML:
<azure-openai-emit-token-metric
namespace="metric namespace" >
<dimension name="dimension name" value="dimension value" />
...additional dimensions...
</azure-openai-emit-token-metric>
Aqui está um exemplo usando várias dimensões:
<policies>
<inbound>
<azure-openai-emit-token-metric
namespace="AzureOpenAI">
<dimension name="User ID" />
<dimension name="Client IP" value="@(context.Request.IpAddress)" />
<dimension name="API ID" />
</azure-openai-emit-token-metric>
</inbound>
<outbound>
</outbound>
</policies>
No exemplo anterior:
- A política está configurada para emitir métricas de tokens para o namespace AzureOpenAI com dimensões para ID do Usuário, IP do Cliente e ID da API.
- O valor da dimensão IP do Cliente é definido como o endereço IP do cliente que está fazendo a solicitação.
Imagine agora que você pode exibir essas métricas em um painel e monitorar o uso da sua API em tempo real. Por exemplo, você pode ver quantos tokens estão sendo usados por um usuário específico ou quantos tokens estão sendo usados por uma API específica. Esse recurso poderoso pode ajudar a otimizar seus recursos e tomar decisões informadas sobre a escala e o gerenciamento de recursos.