Megosztás a következőn keresztül:


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

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

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 falseelé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ítva true , a rendszer mindig megbecsüli a parancssori jogkivonatokat, függetlenül az estimate-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 remainingTokenslesznek 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>

A szabályzatok használatával kapcsolatos további információkért lásd: