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
Zásady llm-token-limit brání špičkám využití rozhraní API pro velký jazykový model (LLM) na základě klíče omezením spotřeby tokenů jazykového modelu na zadanou sazbu (počet za minutu), kvótu za zadané 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.
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á rozhraní API modelu
Tato zásada funguje s rozhraními API LLM přidanými do služby API Management, která odpovídají jednomu z následujících schémat rozhraní API:
- Rozhraní API pro dokončování chatu OpenAI nebo odpovědi
- Anthropic rozhraní API pro zprávy (aktuálně podporované ve vrstvách SLUŽBY API Management v2)
- Google Vertex AI API
Prohlášení o zásadách
<llm-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 jsou 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á jako časové razítko UTC zkrácené na jednotku (hodinu, den atd.). Výrazy zásad jsou povolené. |
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 tokenů výzvy předem na základě schématu výzvy v rozhraní API. - false: Nevyhodnotujte tokeny výzvy; použijte skutečné využití tokenu z odpovědi modelu. Informace o počítání a odhadech tokenů najdete v tématu Důležité informace o počtech a odhadech tokenů. |
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ů výzvy v oddílu backend (nebo nula, pokud estimate-prompt-tokens je false), se aktualizuje o skutečný hlášený počet v oddílu outbound . |
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í
- Tuto zásadu je možné použít vícekrát pro každou definici zásady.
- Tuto politiku lze volitelně nastavit při přidání LLM API pomocí portálu.
- Hodnota
remaining-quota-tokens-variable-nameneboremaining-quota-tokens-header-nameodhad může být větší, než se čekalo na základě skutečné spotřeby tokenů. Další informace najdete v tématu Důležité informace o počtech a odhadech 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 kontejneru tokenů pro omezování 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í. Další informace najdete v tématu Advanced request throttling with Azure API Management - 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.
Důležité informace o počtech a odhadech tokenů
Zásady monitorují a vynucují limity tokenů pomocí skutečných dat o využití tokenů vrácených z koncového bodu LLM. Volitelně můžete povolit odhad tokenu výzvy, abyste snížili nepotřebné požadavky back-endu. Platí následující aspekty.
- Typy tokenů: Zásady aktuálně počítá pouze tokeny výzvy a dokončení.
-
Bez odhadu tokenu výzvy (
estimate-prompt-tokens="false"): Zásada používá skutečné hodnoty využití tokenů zusagečásti odpovědi rozhraní LLM API. Výzvy mohou být odeslány do back-endu i v případě překročení limitu; to se zjistí z odpovědi, po které se následné požadavky zablokují, dokud se limit resetuje. -
Při odhadu tokenu výzvy (
estimate-prompt-tokens="true"): Zásady před odesláním požadavku odhadují tokeny výzvy ze schématu výzvy v definici rozhraní API. To může snížit nepotřebné požadavky back-endu, pokud už je limit překročen, ale může snížit výkon. -
Streamování: Pokud je v požadavku rozhraní API povolené streamování (
stream: true), vždy se odhadují tokeny výzvy bez ohledu naestimate-prompt-tokensnastavení. Tokeny dokončení se také odhadují při streamování odpovědí. -
Vstup obrázku: U modelů, které přijímají vstup image, se tokeny obrázků obecně počítají back-endovým LLM a zahrnují se do výpočtů limitu a kvóty. Pokud je ale povolené streamování nebo
estimate-prompt-tokensje nastavené natrue, zásada přepočítá každou image jako maximálně 1200 tokenů. - Souběžnost: Vzhledem k tomu, že přesný počet spotřebovaných tokenů nelze určit, dokud nebudou odpovědi přijaty z back-endu, souběžné nebo téměř souběžné požadavky dočasně překročí nakonfigurovaný limit tokenu. Po zpracování odpovědí a překročení limitu se následující požadavky zablokují, dokud se limit resetuje.
-
Zbývající přesnost kvóty: Odhadovaná zbývající kvóta tokenu vrácená nebo
remaining-quota-tokens-variable-nameremaining-quota-tokens-header-namemůže být větší, než se čekalo na základě skutečné spotřeby tokenů, a bude přesnější, jak se kvóta blíží.
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 />
<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>
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 />
<llm-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ů Policy
- úložiště ukázek Policy
- Sada nástrojů zásad služby Azure API Management
- Pomoc k vytváření, vysvětlení a řešení potíží se zásadami Copilot get