Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: Utvecklare | Grundläggande | Basic v2 | Standard | Standard v2 | Premium | Premium v2
Principen azure-openai-token-limit förhindrar användningstoppar i Azure OpenAI i Foundry Models API per nyckel genom att begränsa förbrukningen av språkmodelltoken till en angiven hastighet (antal per minut), en kvot under en angiven period eller båda. När en angiven gräns för tokenfrekvens överskrids får anroparen en 429 Too Many Requests svarsstatuskod. När en angiven kvot överskrids får anroparen en 403 Forbidden svarsstatuskod.
Genom att förlita sig på tokenanvändningsmått som returneras från OpenAI-slutpunkten kan principen övervaka och tillämpa gränser i realtid korrekt. Principen möjliggör också förberäkning av prompttoken från API Management, vilket minimerar onödiga begäranden till OpenAI-serverdelen om gränsen redan har överskridits.
Kommentar
Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.
Azure OpenAI stöds i Azure AI Foundry-modeller
Principen används med API:er som lagts till i API Management från Azure OpenAI i AI Foundry-modeller av följande typer:
| API-typ | Modeller som stöds |
|---|---|
| Chatten har slutförts | gpt-3.5gpt-4gpt-4ogpt-4o-minio1o3 |
| Inbäddningar | text-embedding-3-largetext-embedding-3-smalltext-embedding-ada-002 |
| Svar (förhandsversion) |
gpt-4o (Versioner: 2024-11-20, 2024-08-06, 2024-05-13)gpt-4o-mini (Version: 2024-07-18)gpt-4.1 (Version: 2025-04-14)gpt-4.1-nano (Version: 2025-04-14)gpt-4.1-mini (Version: 2025-04-14)gpt-image-1 (Version: 2025-04-15)o3 (Version: 2025-04-16)o4-mini (Version: '2025-04-16) |
Kommentar
API:er för traditionell slutförande är endast tillgängliga med äldre modellversioner och stödet är begränsat.
Aktuell information om modellerna och deras funktioner finns i Azure OpenAI i Foundry Models.
Principuttryck
<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" />
Attribut
| Attribut | beskrivning | Obligatoriskt | Standardvärde |
|---|---|---|---|
| counter-key | Nyckeln som ska användas för tokengränsprincipen. För varje nyckelvärde används en enskild räknare för alla omfång där principen har konfigurerats. Principuttryck tillåts. | Ja | Ej tillämpligt |
| tokens per minut | Det maximala antalet token som förbrukas av prompt och slutförande per minut. | Antingen måste en hastighetsgräns (tokens-per-minute), en kvot (token-quota över en token-quota-period) eller båda anges. |
Ej tillämpligt |
| token-quota | Det maximala antalet token som tillåts under tidsintervallet som anges i token-quota-period. Principuttryck tillåts inte. |
Antingen måste en hastighetsgräns (tokens-per-minute), en kvot (token-quota över en token-quota-period) eller båda anges. |
Ej tillämpligt |
| token-quota-period | Längden på det fasta fönstret varefter token-quota återställs. Värdet måste vara något av följande: Hourly,Daily, Weekly, Monthly, . Yearly Starttiden för en kvotperiod beräknas med utc-tidsstämpeln trunkerad till den enhet (timme, dag osv.) som används för perioden. |
Antingen måste en hastighetsgräns (tokens-per-minute), en kvot (token-quota över en token-quota-period) eller båda anges. |
Ej tillämpligt |
| estimate-prompt-tokens | Booleskt värde som avgör om du vill uppskatta antalet token som krävs för en fråga: - true: beräkna antalet token baserat på promptschemat i API; kan minska prestandan. - false: beräkna inte prompttoken. När de är inställda falsepå beräknas de återstående token per counter-key med den faktiska tokenanvändningen från modellens svar. Detta kan leda till att prompter skickas till modellen som överskrider tokengränsen. I sådana fall identifieras detta i svaret och alla efterföljande begäranden blockeras av principen tills tokengränsen frigörs igen. |
Ja | Ej tillämpligt |
| retry-after-header-name | Namnet på en anpassad svarsrubrik vars värde är det rekommenderade återförsöksintervallet i sekunder efter den angivna tokens-per-minute eller token-quota överskridna. Principuttryck tillåts inte. |
Nej | Retry-After |
| retry-after-variable-name | Namnet på en variabel som lagrar det rekommenderade återförsöksintervallet i sekunder efter att den angivna tokens-per-minute eller token-quota har överskridits. Principuttryck tillåts inte. |
Nej | Ej tillämpligt |
| remaining-quota-tokens-header-name | Namnet på en svarsrubrik vars värde efter varje principkörning är det uppskattade antalet återstående token som motsvarar token-quota tillåtet för token-quota-period. Principuttryck tillåts inte. |
Nej | Ej tillämpligt |
| remaining-quota-tokens-variable-name | Namnet på en variabel som efter varje principkörning lagrar det uppskattade antalet återstående token som motsvarar token-quota tillåtet för token-quota-period. Principuttryck tillåts inte. |
Nej | Ej tillämpligt |
| remaining-tokens-header-name | Namnet på ett svarshuvud vars värde efter varje principkörning är antalet återstående token som motsvarar tokens-per-minute tillåtet för tidsintervallet. Principuttryck tillåts inte. |
Nej | Ej tillämpligt |
| remaining-tokens-variable-name | Namnet på en variabel som efter varje principkörning lagrar antalet återstående token som motsvarar tokens-per-minute tillåtna för tidsintervallet. Principuttryck tillåts inte. |
Nej | Ej tillämpligt |
| tokens-consumed-header-name | Namnet på en svarsrubrik vars värde är antalet token som förbrukas av både prompt och slutförande. Huvudet läggs till i svaret först när svaret har tagits emot från serverdelen. Principuttryck tillåts inte. | Nej | Ej tillämpligt |
| tokens-consumed-variable-name | Namnet på en variabel som initierats till det uppskattade antalet token i prompten i backend avsnittet av pipelinen om estimate-prompt-tokens är true och noll annars. Variabeln uppdateras med det rapporterade antalet när svaret tas emot i outbound avsnittet. |
Nej | Ej tillämpligt |
Förbrukning
- Principavsnitt: inkommande
- Principomfattningar: global, arbetsyta, produkt, API, åtgärd
- Gatewayer: klassisk, v2, lokalt installerad, arbetsyta
Användningsanteckningar
- Den här principen kan användas flera gånger per principdefinition.
- Du kan också konfigurera den här principen när du lägger till ett API från Azure OpenAI med hjälp av portalen.
- Om tillgängligt när
estimate-prompt-tokensär inställt påfalseanvänds värden i användningsavsnittet i svaret från Azure OpenAI-API:et för att fastställa tokenanvändning. - Vissa Azure OpenAI-slutpunkter stöder strömning av svar. När
streamanges tilltruei API-begäran för att aktivera strömning beräknas alltid prompttoken, oavsett värdet förestimate-prompt-tokensattributet. Slutförandetoken uppskattas också när svar strömmas. - Värdet för
remaining-quota-tokens-variable-nameellerremaining-quota-tokens-header-nameär en uppskattning i informationssyfte men kan vara större än förväntat baserat på faktisk tokenförbrukning. Värdet är mer exakt när kvoten närmar sig. - För modeller som accepterar bildindata räknas bildtoken vanligtvis av serverdelsspråkmodellen och ingår i gräns- och kvotberäkningar. Men när direktuppspelning används eller
estimate-prompt-tokensär inställd påtrueöverberäkning av principen för närvarande varje bild som ett maximalt antal 1 200 token. - API Management använder en enskild räknare för varje
counter-keyvärde som du anger i principen. Räknaren uppdateras i alla omfång där principen har konfigurerats med det nyckelvärdet. Om du vill konfigurera separata räknare i olika omfång (till exempel ett specifikt API eller en specifik produkt) anger du olika nyckelvärden i de olika omfången. Du kan till exempel lägga till en sträng som identifierar omfånget till värdet för ett uttryck. - Den här principen spårar tokenanvändningen oberoende av varje gateway där den tillämpas, inklusive arbetsytegatewayer och regionala gatewayer i en distribution i flera regioner. Den aggregerar inte antalet token i hela instansen.
Exempel
Gräns för tokenfrekvens
I följande exempel styrs gränsen för tokenfrekvens på 5 000 per minut av anroparens IP-adress. Principen uppskattar inte antalet token som krävs för en fråga. Efter varje principkörning lagras de återstående token som tillåts för anroparens IP-adress under tidsperioden i variabeln 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>
Tokenkvot
I följande exempel styrs tokenkvoten på 1 0000 av prenumerations-ID:t och återställs varje månad. Efter varje principkörning lagras antalet återstående token som tillåts för prenumerations-ID:t under tidsperioden i variabeln 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>
Relaterade principer
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda ditt API
- Principreferens för en fullständig lista över principinstruktioner och deras inställningar
- Principuttryck
- Ange eller redigera principer
- Återanvända principkonfigurationer
- Lagringsplats för principfragment
- Lagringsplats för principlekplats
- Principverktyg för Azure API Management
- Få Hjälp med Copilot för att skapa, förklara och felsöka principer