Omezení využití tokenů rozhraní API Azure OpenAI
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 služby Azure OpenAI na základě klíče omezením spotřeby tokenů jazykového modelu na zadaný počet za minutu. Když dojde k překročení využití tokenu, volající obdrží stavový 429 Too Many Requests
kód odpovědi.
Díky závislosti na metrikách využití tokenů vrácených z koncového bodu OpenAI může zásada přesně monitorovat a vynucovat limity v reálném čase. Zásada také umožňuje předem přepočítat tokeny výzvy službou API Management, což minimalizuje nepotřebné požadavky na back-end OpenAI, pokud je limit již překročen.
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 služby Azure OpenAI
Zásady se používají s rozhraními API přidanými do služby API Management ze služby Azure OpenAI s následujícími typy:
Typ rozhraní API | Podporované modely |
---|---|
Dokončení chatu | gpt-3.5 gpt-4 |
Dokončení | gpt-3.5-turbo-instruct |
Vkládání | text-embedding-3-large text-embedding-3-small text-embedding-ada-002 |
Další informace najdete v tématu Modely Azure OpenAI Service.
Prohlášení o zásadách
<azure-openai-token-limit counter-key="key value"
tokens-per-minute="number"
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-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é. | Yes | – |
tokeny za minutu | Maximální počet tokenů spotřebovaných výzvou a dokončením za minutu. | Yes | – |
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ě se tato akce zjistí v odpovědi a všechny úspěšné žádosti budou zásadami blokovány, dokud se limit tokenu znovu neumožní. |
Yes | – |
retry-after-header-name | Název vlastní hlavičky odpovědi, jejíž hodnota je doporučený interval opakování v sekundách po překročení zadané tokens-per-minute hodnoty. Výrazy zásad nejsou povolené. |
No | Retry-After |
retry-after-variable-name | Název proměnné, která ukládá doporučený interval opakování v sekundách po překročení zadané tokens-per-minute hodnoty. Výrazy zásad nejsou povolené. |
No | – |
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ů povolených pro časový interval. Výrazy zásad nejsou povolené. | No | – |
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ů povolených pro časový interval. Výrazy zásad nejsou povolené. | No | – |
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é. | No | – |
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 true v opačném případě estimate-prompt-tokens nula. Proměnná se aktualizuje o hlášený počet přijatých odpovědí v outbound části. |
No | – |
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.
- Tyto zásady je možné volitelně nakonfigurovat při přidávání rozhraní API ze služby Azure OpenAI pomocí portálu.
- Pokud je tato možnost
estimate-prompt-tokens
nastavená nafalse
hodnotu , hodnoty v části využití odpovědi z rozhraní API služby Azure OpenAI se používají k určení využití tokenu. - Některé koncové body Azure OpenAI podporují streamování odpovědí. Pokud
stream
je v požadavku rozhraní API nastavená natrue
povolení 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í. - Služba API Management používá pro každou
counter-key
hodnotu, 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.
Příklad
V následujícím příkladu je limit 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>
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
- Sada nástrojů zásad služby Azure API Management
- Vytváření zásad pomocí Microsoft Copilotu v Azure