A nagy nyelvi modell 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 llm-token-limit
szabályzat megakadályozza, hogy a nagy nyelvi modell (LLM) API-kihasználtsága kulcsonként megnőjön, ha az LLM-jogkivonatok használatát percenként egy megadott számra 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 LLM-végponttól visszaadott tokenhasználati metrikákra támaszkodva a szabályzat valós időben pontosan monitorozhatja és érvényesítheti 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 a szükségtelen kéréseket az LLM háttérrendszeréhez, ha a korlátot már túllépte.
Feljegyzés
Ez a szabályzat jelenleg előzetes verzióban érhető el.
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 modellek
Használja a szabályzatot az Azure API Managementhez hozzáadott LLM API-kkal, amelyek az Azure AI Model Inference API-val érhetők el.
Szabályzatutasítás
<llm-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ó.
- Ha a rendszer a beállításnál
estimate-prompt-tokens
false
elérhető, a rendszer az LLM API válaszának használati szakaszában szereplő értékeket használja a jogkivonatok használatának meghatározásához. - Bizonyos LLM-végpontok támogatják a válaszok streamelá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. - 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 />
<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>
Kapcsolódó szabályzatok
- Sebességkorlátozás és kvóták
- azure-openai-token-limit szabályzat
- llm-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