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.
Spoléháním se na metriky využití tokenů vrácené z endpointu LLM politika monitoruje a vynucuje limity na základě skutečné spotřeby tokenů. Politika také umožňuje předem odhadovat prompt tokeny pomocí API Management, čímž minimalizuje zbytečné požadavky na backend LLM, 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
Použijte zásadu s rozhraními API LLM přidanými do služby Azure API Management, které jsou dostupné prostřednictvím rozhraní API pro odvozování modelů Azure AI nebo s modely kompatibilními s OpenAI, které obsluhují poskytovatelé odvozování třetích stran.
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 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á jako časové razítko UTC zkrácené 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í
- 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.
- Pokud je tato možnost
estimate-prompt-tokensnastavená nafalsehodnotu , hodnoty v části využití odpovědi z rozhraní LLM API 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 LLM 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. - 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 />
<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
- Omezování rychlosti a kvóty
- Azure-OpenAI-Token-Limit Policy
- Politika LLM-EMIT-Token-Metric
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.