Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A: Sviluppatore | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2
Il azure-openai-token-limit criterio impedisce i picchi di utilizzo dell'API OpenAI di Azure openAI nei modelli foundry per ogni chiave limitando l'utilizzo dei token del modello linguistico a una frequenza specificata (numero al minuto), una quota in un periodo specificato o entrambi. Quando viene superato un limite di frequenza di token specificato, il chiamante riceve un 429 Too Many Requests codice di stato della risposta. Quando viene superata una quota specificata, il chiamante riceve un 403 Forbidden codice di stato della risposta.
Basandosi sulle metriche di utilizzo dei token restituite dall'endpoint Azure OpenAI, la policy monitora e applica i limiti basati sul consumo effettivo di token. La policy consente inoltre di stimare in anticipo i token prompt da parte di API Management, minimizzando richieste inutili al backend di Azure OpenAI se il limite è già superato. Tuttavia, poiché il numero effettivo di token consumati dipende sia dalla dimensione del prompt sia dalla dimensione del completamento (che varia a seconda della richiesta), la policy non può prevedere in anticipo il consumo totale di token. Questo design potrebbe permettere di superare temporaneamente i limiti dei token quando più richieste vengono elaborate contemporaneamente.
Nota
Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Altre informazioni su come impostare o modificare i criteri di Gestione API.
Azure OpenAI supportato nei modelli di Azure AI Foundry
I criteri vengono usati con le API aggiunte a Gestione API dai modelli OpenAI di Azure in AI Foundry dei tipi seguenti:
| Tipo di API | Modelli supportati |
|---|---|
| Completamento della chat | gpt-3.5gpt-4gpt-4ogpt-4o-minio1o3 |
| Incorporamenti | text-embedding-3-largetext-embedding-3-smalltext-embedding-ada-002 |
| Risposte (anteprima) |
gpt-4o (Versioni: 2024-11-20, 2024-08-06, 2024-05-13)gpt-4o-mini (Versione: 2024-07-18)gpt-4.1 (Versione: 2025-04-14)gpt-4.1-nano (Versione: 2025-04-14)gpt-4.1-mini (Versione: 2025-04-14)gpt-image-1 (Versione: 2025-04-15)o3 (Versione: 2025-04-16)o4-mini (Versione: '2025-04-16) |
Nota
Le API di completamento tradizionali sono disponibili solo con le versioni del modello legacy e il supporto è limitato.
Per informazioni aggiornate sui modelli e sulle relative funzionalità, vedere Azure OpenAI in Foundry Models(OpenAI di Azure in Foundry Models).
Istruzione del criterio
<azure-openai-token-limit counter-key="key value"
tokens-per-minute="number"
token-quota="number"
token-quota-period="Hourly | Daily | Weekly | Monthly | Yearly"
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-quota-tokens-header-name="header name"
remaining-quota-tokens-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" />
Attributi
| Attributo | Descrizione | Richiesto | Valore predefinito |
|---|---|---|---|
| counter-key | Chiave da usare per i criteri di limite dei token. Per ogni valore di chiave, viene usato un singolo contatore per tutti gli ambiti in cui è configurato il criterio. Le espressioni di criteri sono consentite. | Sì | N/D |
| token al minuto | Numero massimo di token utilizzati dalla richiesta e dal completamento al minuto. | È necessario specificare un limite di velocità (tokens-per-minute), una quota (token-quota superiore a token-quota-period) o entrambi. |
N/D |
| quota token | Numero massimo di token consentiti durante l'intervallo di tempo specificato in token-quota-period. Le espressioni di criteri non sono consentite. |
È necessario specificare un limite di velocità (tokens-per-minute), una quota (token-quota superiore a token-quota-period) o entrambi. |
N/D |
| token-quota-period | Lunghezza della finestra fissa dopo la quale viene reimpostato.token-quota Il valore deve essere uno dei seguenti: Hourly,DailyWeekly , , Monthly. Yearly L'ora di inizio di un periodo di quota viene calcolata usando il timestamp UTC troncato all'unità (ora, giorno e così via) usata per il periodo. |
È necessario specificare un limite di velocità (tokens-per-minute), una quota (token-quota superiore a token-quota-period) o entrambi. |
N/D |
| estimate-prompt-tokens | Valore booleano che determina se stimare il numero di token necessari per una richiesta: - true: stimare il numero di token in base allo schema di richiesta nell'API. Può comportare la riduzione delle prestazioni. - false: non stimare i token di richiesta. Se impostato su false, i token rimanenti per counter-key vengono calcolati usando l'utilizzo effettivo del token dalla risposta del modello. Ciò potrebbe comportare l'invio di prompt al modello che superano il limite di token. In tal caso, questo verrà rilevato nella risposta e tutte le richieste successive saranno bloccate dalla policy fino a quando il limite dei token non si resetterà. |
Sì | N/D |
| retry-after-header-name | Nome di un'intestazione di risposta personalizzata il cui valore è l'intervallo di ripetizione consigliato in secondi dopo il superamento o tokens-per-minute il superamento dell'oggetto specificatotoken-quota. Le espressioni di criteri non sono consentite. |
NO | Retry-After |
| retry-after-variable-name | Nome di una variabile che archivia l'intervallo di ripetizione dei tentativi consigliato in secondi dopo il superamento dell'oggetto specificato tokens-per-minute o token-quota superato. Le espressioni di criteri non sono consentite. |
NO | N/D |
| remaining-quota-tokens-header-name | Il nome di un'intestazione di risposta il cui valore dopo ogni esecuzione dei criteri è il numero stimato di token rimanenti corrispondenti a consentiti token-quota per .token-quota-period Le espressioni di criteri non sono consentite. |
NO | N/D |
| remaining-quota-tokens-variable-name | Nome di una variabile che dopo ogni esecuzione dei criteri archivia il numero stimato di token rimanenti corrispondenti a consentito token-quota per .token-quota-period Le espressioni di criteri non sono consentite. |
NO | N/D |
| remaining-tokens-header-name | Il nome di un'intestazione di risposta il cui valore dopo ogni esecuzione dei criteri è il numero di token rimanenti corrispondenti a tokens-per-minute consentiti per l'intervallo di tempo. Le espressioni di criteri non sono consentite. |
NO | N/D |
| remaining-tokens-variable-name | Nome di una variabile che dopo ogni esecuzione dei criteri archivia il numero di token rimanenti corrispondenti a consentiti tokens-per-minute per l'intervallo di tempo. Le espressioni di criteri non sono consentite. |
NO | N/D |
| tokens-consumed-header-name | Nome di un'intestazione di risposta il cui valore è il numero di token utilizzati sia dalla richiesta che dal completamento. L'intestazione viene aggiunta alla risposta solo dopo la ricezione della risposta dal back-end. Le espressioni di criteri non sono consentite. | NO | N/D |
| tokens-consumed-variable-name | Nome di una variabile inizializzata per il numero stimato di token nella richiesta nella sezione backend della pipeline se estimate-prompt-tokens è true e zero in caso contrario. La variabile viene aggiornata con il conteggio segnalato al momento della ricezione della risposta nella sezione outbound. |
NO | N/D |
Utilizzo
- Sezioni del criterio: inbound
- Ambiti del criterio: globale, area di lavoro, prodotto, API, operazione
- Gateway: classico, v2, self-hosted, area di lavoro
Note sull'utilizzo
- Questa politica può essere utilizzata più volte per definizione di polizza
- Questa politica può essere configurata opzionalmente quando si aggiunge un'API Azure OpenAI tramite il portale.
- Se disponibile quando
estimate-prompt-tokensè impostato sufalse, i valori nella sezione relativa all'utilizzo della risposta dell'API OpenAI di Azure vengono usati per determinare l'utilizzo dei token. - Quando più richieste vengono inviate contemporaneamente o con lievi ritardi, la policy può consentire il consumo di token che supera il limite configurato. Questo accade perché la policy non può determinare il numero esatto di token consumati finché non ricevono risposte dal backend. Una volta che le risposte sono state elaborate e i limiti dei token superati, le richieste successive vengono bloccate fino al reset del limite.
- Certi endpoint di OpenAI di Azure supportano il flusso di risposte. Quando
streamè impostato sutruenella richiesta API per abilitare lo streaming, i token di prompt vengono sempre stimati, indipendentemente dal valore dell'attributoestimate-prompt-tokens. I token di completamento vengono stimati anche quando vengono trasmessi le risposte. - Il valore di
remaining-quota-tokens-variable-nameoremaining-quota-tokens-header-nameè una stima a scopo informativo, ma potrebbe essere maggiore del previsto in base all'effettivo consumo di token. Il valore è più accurato man mano che si avvicina la quota. - Per i modelli che accettano l'input dell'immagine, i token di immagine vengono in genere conteggiati dal modello linguistico back-end e inclusi nei calcoli di limiti e quote. Tuttavia, quando lo streaming viene usato o
estimate-prompt-tokensè impostato sutrue, il criterio attualmente esegue il over-count di ogni immagine come numero massimo di 1200 token. - Gestione API usa un singolo contatore per ogni valore
counter-keyspecificato nei criteri. Il contatore viene aggiornato in tutti gli ambiti in cui il criterio è configurato con tale valore della chiave. Se si vogliono configurare contatori separati in ambiti diversi, ad esempio, un'API o un prodotto specifico, specificare valori di chiave diversi nei diversi ambiti. Ad esempio, aggiungere una stringa che identifica l'ambito alla fine del valore di un'espressione. - I livelli v2 utilizzano un algoritmo a bucket di token per la limitazione del rate, che differisce dall'algoritmo a finestra scorrevole nei tier classici. A causa di questa differenza di implementazione, quando si configurano i limiti dei token nei livelli v2 a più ambiti usando lo stesso
counter-key, assicurarsi che iltokens-per-minutevalore sia coerente su tutte le istanze della policy. Valori incoerenti possono causare comportamenti imprevedibili. - Questo criterio tiene traccia dell'utilizzo dei token in modo indipendente in ogni gateway in cui viene applicato, inclusi i gateway dell'area di lavoro e i gateway a livello di area in una distribuzione in più aree. Non aggrega i conteggi dei token nell'intera istanza.
Esempi
Limite di frequenza dei token
Nell'esempio seguente il limite di frequenza dei token di 5000 al minuto viene inserito nella chiave dall'indirizzo IP del chiamante. Il criterio non stima il numero di token necessari per una richiesta. Dopo ogni esecuzione dei criteri, i token rimanenti consentiti per tale indirizzo IP chiamante nel periodo di tempo vengono archiviati nella variabile remainingTokens.
<policies>
<inbound>
<base />
<azure-openai-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>
Quota token
Nell'esempio seguente la quota di token di 10000 viene chiaveta dall'ID sottoscrizione e reimposta ogni mese. Dopo ogni esecuzione dei criteri, il numero di token rimanenti consentiti per tale ID sottoscrizione nel periodo di tempo viene archiviato nella variabile remainingQuotaTokens.
<policies>
<inbound>
<base />
<azure-openai-token-limit
counter-key="@(context.Subscription.Id)"
token-quota="100000" token-quota-period="Monthly" remaining-quota-tokens-variable-name="remainingQuotaTokens" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Criteri correlati
Contenuto correlato
Per ulteriori informazioni sull'utilizzo dei criteri, vedere:
- Esercitazione: trasformare e proteggere l'API
- Informazioni di riferimento sui criteri per un elenco completo delle istruzioni dei criteri e delle relative impostazioni
- Espressioni di criteri
- Impostare o modificare criteri
- Riutilizzare le configurazioni dei criteri
- Repository dei frammenti di criteri
- Repository del playground dei criteri
- Toolkit dei criteri di Azure Gestione API
- Ottenere assistenza da Copilot per creare, spiegare e risolvere le politiche