Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO: Vývojář | Základní | Basic v2 | Standardní | Standard v2 | Premium | Premium v2
Tato azure-openai-token-limit zásada brání špičkám využití rozhraní API modelů Foundry v Azure OpenAI na základě klíče omezením spotřeby tokenů jazykového modelu na zadanou sazbu (počet za minutu), kvótu za určité období nebo obojí. Při překročení zadaného limitu rychlosti tokenu obdrží volající stavový 429 Too Many Requests kód odpovědi. Když je překročena zadaná kvóta, volající obdrží stavový 403 Forbidden kód odpovědi.
Spoléháním na metriky využití tokenů vrácených z endpointu Azure OpenAI politika monitoruje a vynucuje limity na základě skutečné spotřeby tokenů. Politika také umožňuje předem odhadovat prompt tokeny pomocí správy API, čímž minimalizuje zbytečné požadavky na backend Azure OpenAI, pokud je limit již překročen. Protože skutečný počet spotřebovaných tokenů závisí jak na velikosti promptu, tak na velikosti dokončení (která se liší podle požadavku), politika nemůže předpovědět celkovou spotřebu tokenů dopředu. Tento design by mohl umožnit dočasné překročení limitů tokenů, pokud je zpracováváno více požadavků současně.
Poznámka:
Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.
Podporované modely Azure OpenAI v modelech Azure AI Foundry
Zásady se používají s rozhraními API přidanými do služby API Management z Azure OpenAI v modelech AI Foundry následujících typů:
| Typ rozhraní API | Podporované modely |
|---|---|
| Dokončení chatu | gpt-3.5gpt-4gpt-4ogpt-4o-minio1o3 |
| Vkládání | text-embedding-3-largetext-embedding-3-smalltext-embedding-ada-002 |
| Odpovědi (Preview) |
gpt-4o (Verze: 2024-11-20, 2024-08-06, 2024-05-13)gpt-4o-mini (Verze: 2024-07-18)gpt-4.1 (Verze: 2025-04-14)gpt-4.1-nano (Verze: 2025-04-14)gpt-4.1-mini (Verze: 2025-04-14)gpt-image-1 (Verze: 2025-04-15)o3 (Verze: 2025-04-16)o4-mini (Verze: '2025-04-16) |
Poznámka:
Tradiční rozhraní API pro dokončování jsou k dispozici pouze se staršími verzemi modelu a podpora je omezená.
Aktuální informace o modelech a jejich možnostech najdete v tématu Azure OpenAI in Foundry Models.
Prohlášení o zásadách
<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" />
Atributy
| Atribut | Popis | Požaduje se | Výchozí |
|---|---|---|---|
| counter-key | Klíč, který se má použít pro zásady omezení tokenu. Pro každou hodnotu klíče se pro všechny obory, ve kterých je zásada nakonfigurovaná, používá jeden čítač. Výrazy zásad jsou povolené. | Ano | – |
| tokeny za minutu | Maximální počet tokenů spotřebovaných výzvou a dokončením za minutu. | Je třeba zadat buď limit sazby (tokens-per-minute), kvótu (token-quota nad ) token-quota-periodnebo obojí. |
– |
| kvóta tokenů | Maximální počet tokenů povolených během časového intervalu zadaného v sadě token-quota-period. Výrazy zásad nejsou povolené. |
Je třeba zadat buď limit sazby (tokens-per-minute), kvótu (token-quota nad ) token-quota-periodnebo obojí. |
– |
| token-quota-period | Délka pevného okna, po kterém se token-quota resetuje. Hodnota musí být jedna z následujících hodnot: Hourly,Daily, Weekly, Monthly, Yearly. Počáteční čas období kvóty se vypočítá pomocí časového razítka UTC zkráceného na jednotku (hodinu, den atd.). |
Je třeba zadat buď limit sazby (tokens-per-minute), kvótu (token-quota nad ) token-quota-periodnebo obojí. |
– |
| estimate-prompt-tokens | Logická hodnota, která určuje, jestli se má odhadnout počet tokenů požadovaných pro výzvu: - true: odhad počtu tokenů na základě schématu výzvy v rozhraní API; může snížit výkon. - false: Nepojádejte tokeny výzvy. Pokud je tato hodnota nastavená false, zbývající tokeny se counter-key počítají pomocí skutečného využití tokenu z odpovědi modelu. To může vést k odeslání výzev do modelu, které překračují limit tokenu. V takovém případě bude tato otázka detekována v odpovědi a všechny následující požadavky budou politikou blokovány, dokud se limit tokenů neobnoví. |
Ano | – |
| retry-after-header-name | Název vlastní hlavičky odpovědi, jejíž hodnota je doporučený interval opakování v sekundách po zadaném tokens-per-minute nebo token-quota překročení. Výrazy zásad nejsou povolené. |
Ne | Retry-After |
| retry-after-variable-name | Název proměnné, která ukládá doporučený interval opakování v sekundách po zadaném tokens-per-minute nebo token-quota překročení. Výrazy zásad nejsou povolené. |
Ne | – |
| remaining-quota-tokens-header-name | Název hlavičky odpovědi, jejíž hodnota po každém spuštění zásady odpovídá odhadovanému počtu zbývajících tokenů odpovídajících token-quota povolenému token-quota-period. Výrazy zásad nejsou povolené. |
Ne | – |
| remaining-quota-tokens-variable-name | Název proměnné, která po každém spuštění zásady ukládá odhadovaný počet zbývajících tokenů odpovídajících token-quota povolenému token-quota-period. Výrazy zásad nejsou povolené. |
Ne | – |
| remaining-tokens-header-name | Název hlavičky odpovědi, jejíž hodnota po každém spuštění zásady je počet zbývajících tokenů odpovídajících tokens-per-minute povolenému časovému intervalu. Výrazy zásad nejsou povolené. |
Ne | – |
| remaining-tokens-variable-name | Název proměnné, která po každém spuštění zásady ukládá počet zbývajících tokenů odpovídajících tokens-per-minute povolenému časovému intervalu. Výrazy zásad nejsou povolené. |
Ne | – |
| tokens-consumed-header-name | Název hlavičky odpovědi, jejíž hodnota je počet tokenů spotřebovaných výzvou i dokončením. Hlavička se přidá do odpovědi až po přijetí odpovědi z back-endu. Výrazy zásad nejsou povolené. | Ne | – |
| tokens-consumed-variable-name | Název proměnné inicializované na odhadovaný počet tokenů na příkazovém řádku v backend části kanálu, pokud je estimate-prompt-tokens v opačném případě true nula. Proměnná se aktualizuje o hlášený počet přijatých odpovědí v outbound části. |
Ne | – |
Využití
- Oddíly zásad: příchozí
- Obory zásad: globální, pracovní prostor, produkt, rozhraní API, operace
- Brány: Classic, v2, v místním prostředí, pracovní prostor
Poznámky k využití
- Tato politika může být použita vícekrát podle definice pojistky
- Tuto politiku lze volitelně nastavit při přidání Azure OpenAI API pomocí portálu.
- Pokud je tato možnost
estimate-prompt-tokensnastavená nafalsehodnotu , hodnoty v části využití odpovědi z rozhraní API Azure OpenAI slouží k určení využití tokenu. - Když je odesláno více požadavků současně nebo s mírnými zpožděními, politika může povolit spotřebu tokenů přesahující nastavený limit. K tomu dochází proto, že politika nemůže určit přesný počet spotřebovaných tokenů, dokud nepřijdou odpovědi z backendu. Jakmile jsou odpovědi zpracovány a překročeny limity tokenů, jsou další požadavky blokovány, dokud se limit neobnoví.
- Některé koncové body Azure OpenAI podporují streamování odpovědí. Pokud
streamje v požadavku rozhraní API nastavená natruepovolení streamování, vždy se odhadují tokeny výzvy bez ohledu na hodnotu atributuestimate-prompt-tokens. Tokeny dokončení se také odhadují při streamování odpovědí. - Hodnota
remaining-quota-tokens-variable-nameneboremaining-quota-tokens-header-nameje odhadem pro informační účely, ale může být větší, než se čekalo na základě skutečné spotřeby tokenů. Hodnota je přesnější, protože se kvóta blíží. - U modelů, které přijímají vstup obrázku, jsou tokeny obrázků obecně počítány back-endovým jazykovým modelem a zahrnuty do výpočtů limitů a kvót. Pokud se ale použije streamování nebo
estimate-prompt-tokensje nastavenétruena , zásady aktuálně přepočítávají každou image jako maximální počet 1200 tokenů. - Služba API Management používá pro každou
counter-keyhodnotu, kterou zadáte v zásadách, jeden čítač. Čítač se aktualizuje ve všech oborech, ve kterých je zásada nakonfigurovaná s danou hodnotou klíče. Pokud chcete nakonfigurovat samostatné čítače v různých oborech (například konkrétní rozhraní API nebo produkt), zadejte různé hodnoty klíče v různých oborech. Připojte například řetězec, který identifikuje obor k hodnotě výrazu. - Úrovně v2 používají algoritmus token bucket pro omezení rychlosti, který se liší od algoritmu posuvného okna v klasických úrovních. Kvůli této implementaci rozdílu, když konfigurujete limity tokenů ve v2 úrovních na více úrovních pomocí stejného
counter-key, ujistěte se, žetokens-per-minutehodnota je konzistentní napříč všemi instancemi politik. Nekonzistentní hodnoty mohou způsobit nepředvídatelné chování. - Tato zásada sleduje využití tokenů nezávisle na každé bráně, ve které se používá, včetně bran pracovních prostorů a regionálních bran v nasazení ve více oblastech. Neagreguje počty tokenů v celé instanci.
Příklady
Limit rychlosti tokenů
V následujícím příkladu je limit rychlosti tokenu 5000 za minutu klíčován IP adresou volajícího. Zásada nehodnotuje počet tokenů požadovaných pro výzvu. Po každém spuštění zásad jsou zbývající tokeny povolené pro danou IP adresu volajícího v časovém období uloženy v proměnné 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>
Kvóta tokenů
V následujícím příkladu je kvóta tokenu 10000 klíč podle ID předplatného a resetuje se měsíčně. Po každém spuštění zásad se počet zbývajících tokenů povolených pro toto ID předplatného v časovém období uloží do proměnné 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>
Související zásady
Související obsah
Další informace o práci se zásadami najdete v tématech:
- Kurz: Transformace a ochrana rozhraní API
- Referenční informace o zásadách pro úplný seznam prohlášení o zásadách a jejich nastavení
- Výrazy zásad
- Nastavení nebo úprava zásad
- Opakované použití konfigurací zásad
- Úložiště fragmentů zásad
- Úložiště dětského hřiště zásad
- Sada nástrojů zásad služby Azure API Management
- Získejte asistenci Copilotu při vytváření, vysvětlování a řešení problémů se zásadami.