Az Azure OpenAI API-jogkivonat használatának korlátozása
A KÖVETKEZŐKRE VONATKOZIK: Fejlesztő | Alapszintű | Alapszintű v2 | Standard | Standard v2 | Prémium | Prémium v2
A azure-openai-token-limit
szabályzat megakadályozza, hogy az Azure OpenAI Service API-használat kulcsonkénti kiugróan magas legyen, mert a nyelvi modell jogkivonatainak használatát percenként meghatározott számúra korlátozza. Ha túllépi a jogkivonat használatát, a hívó válaszállapot-kódot 429 Too Many Requests
kap.
Az OpenAI-végponttól visszaadott tokenhasználati metrikákra támaszkodva a szabályzat valós időben pontosan monitorozza és érvényesíti a korlátokat. A szabályzat lehetővé teszi a parancssori jogkivonatok API Management általi előzetes számítását is, minimalizálva az OpenAI-háttérrendszer felé irányuló szükségtelen kéréseket, ha a korlátot már túllépte.
Feljegyzés
Állítsa be a szabályzat elemeit és gyermekelemeit a szabályzatutasításban megadott sorrendben. További információ az API Management-szabályzatok beállításáról és szerkesztéséről.
Támogatott Azure OpenAI-szolgáltatásmodellek
A szabályzatot az API Managementhez hozzáadott API-k használják az Azure OpenAI szolgáltatásból a következő típusok közül:
API-típus | Támogatott modellek |
---|---|
Csevegés befejezése | gpt-3.5 gpt-4 |
Teljesítés | gpt-3.5-turbo-instruct |
Beágyazások | text-embedding-3-large text-embedding-3-small text-embedding-ada-002 |
További információért lásd: Azure OpenAI szolgáltatási modellek.
Szabályzatutasítás
<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" />
Attribútumok
Attribútum | Leírás | Kötelező | Alapértelmezett |
---|---|---|---|
számlálókulcs | A jogkivonatkorlát-szabályzathoz használandó kulcs. Minden kulcsértékhez egyetlen számlálót használ a rendszer minden olyan hatókörhöz, amelyen a szabályzat konfigurálva van. A szabályzatkifejezések engedélyezettek. | Igen | n/a |
tokenek percenként | A kérés és a befejezés által percenként felhasznált jogkivonatok maximális száma. | Igen | n/a |
estimate-prompt-tokens | Logikai érték, amely meghatározza, hogy meg kell-e becsülni a parancssorhoz szükséges jogkivonatok számát: - true : becsülje meg a jogkivonatok számát az API parancssori sémája alapján; csökkentheti a teljesítményt. - false : ne becsülje meg a parancssori jogkivonatokat. Ha be van false állítva, a rendszer a modell válaszából származó tényleges jogkivonat-használat alapján számítja ki a fennmaradó jogkivonatokat counter-key . Ez azt eredményezheti, hogy a rendszer a jogkivonat-korlátot túllépő kéréseket küld a modellnek. Ilyen esetben a rendszer ezt észleli a válaszban, és a szabályzat az összes sikeres kérést letiltja, amíg a jogkivonat-korlát újra fel nem szabadul. |
Igen | n/a |
újrapróbálkozás a fejléc után | Annak az egyéni válaszfejlécnek a neve, amelynek értéke az ajánlott újrapróbálkozási időköz másodpercben a megadott tokens-per-minute érték túllépése után. A szabályzatkifejezések nem engedélyezettek. |
Nem | Retry-After |
újrapróbálkozó változó utáni név | Annak a változónak a neve, amely a megadott tokens-per-minute időtartam túllépése után másodpercekben tárolja az ajánlott újrapróbálkozási időközt. A szabályzatkifejezések nem engedélyezettek. |
Nem | N.A. |
remaining-tokens-header-name | Annak a válaszfejlécnek a neve, amelynek értéke az egyes szabályzatok végrehajtása után az időintervallumban engedélyezett fennmaradó jogkivonatok száma. A szabályzatkifejezések nem engedélyezettek. | Nem | N.A. |
remaining-tokens-variable-name | Egy változó neve, amely minden szabályzat végrehajtása után tárolja az időintervallumban engedélyezett fennmaradó jogkivonatok számát. A szabályzatkifejezések nem engedélyezettek. | Nem | N.A. |
tokens-consumed-header-name | Egy válaszfejléc neve, amelynek értéke a parancssor és a befejezés által felhasznált jogkivonatok száma. A fejléc csak akkor lesz hozzáadva a válaszhoz, ha a válasz a háttérrendszertől érkezik. A szabályzatkifejezések nem engedélyezettek. | Nem | N.A. |
tokens-consumed-variable-name | Egy változó neve, amely inicializálva van a folyamat parancssori backend szakaszában található tokenek becsült számához, ha estimate-prompt-tokens az nem, true és egyébként nulla. A változó a megadott számmal frissül, amikor megkapja a választ a outbound szakaszban. |
Nem | N.A. |
Használat
- Szabályzatszakaszok: bejövő
- Szabályzathatókörök: globális, munkaterület, termék, API, művelet
- Átjárók: klasszikus, v2, saját üzemeltetésű, munkaterület
Használati megjegyzések
- Ez a szabályzat szabályzatdefiníciónként többször is használható.
- Ez a szabályzat opcionálisan konfigurálható, ha api-t ad hozzá az Azure OpenAI szolgáltatásból a portál használatával.
- Ha a
estimate-prompt-tokens
beállításfalse
értéke elérhető, a rendszer az Azure OpenAI Service API válaszának használati szakaszában szereplő értékeket használja a jogkivonatok használatának meghatározásához. - Egyes Azure OpenAI-végpontok támogatják a válaszok streamelésének támogatását. Ha
stream
az API-kérésben a streamelés engedélyezésére van beállítvatrue
, a rendszer mindig megbecsüli a parancssori jogkivonatokat, függetlenül azestimate-prompt-tokens
attribútum értékétől. A befejezési jogkivonatokat a válaszok streamelésekor is megbecsüljük. - Az API Management egyetlen számlálót használ a szabályzatban megadott összes
counter-key
értékhez. A számláló minden olyan hatókörben frissül, ahol a szabályzat ezzel a kulcsértékkel van konfigurálva. Ha külön számlálókat szeretne konfigurálni különböző hatókörökben (például egy adott API-n vagy terméken), adjon meg különböző kulcsértékeket a különböző hatókörökben. Hozzáfűzhet például egy sztringet, amely azonosítja a hatókört egy kifejezés értékéhez.
Példa
Az alábbi példában az 5000/perc jogkivonat-korlátot a hívó IP-címe határozza meg. A szabályzat nem becsüli meg a parancssorhoz szükséges jogkivonatok számát. Az egyes szabályzatok végrehajtása után az adott hívó IP-címéhez engedélyezett fennmaradó jogkivonatok az adott időszakban a változóban remainingTokens
lesznek tárolva.
<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>
Kapcsolódó szabályzatok
- Sebességkorlátozás és kvóták
- llm-token-limit szabályzat
- azure-openai-emit-token-metric szabályzat
Kapcsolódó tartalom
A szabályzatok használatával kapcsolatos további információkért lásd:
- Oktatóanyag: AZ API átalakítása és védelme
- Szabályzathivatkozás a szabályzatutasságok és azok beállításainak teljes listájához
- Házirend-kifejezések
- Házirendek beállítása vagy szerkesztése
- Szabályzatkonfigurációk újrafelhasználása
- Szabályzatrészletek adattára
- Azure API Management policy toolkit
- Szabályzatok létrehozása a Microsoft Copilot használatával az Azure-ban