Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2
Die llm-token-limit
Richtlinie verhindert höchstwertige API-Verwendungsspitzen (LARGE Language Model, LLM) pro Schlüssel, indem der Verbrauch von Sprachmodelltoken entweder auf eine angegebene Rate (Anzahl pro Minute), ein Kontingent über einen bestimmten Zeitraum oder beides beschränkt wird. Wenn ein angegebenes Tokenratenlimit überschritten wird, empfängt der Aufrufer einen 429 Too Many Requests
Antwortstatuscode. Wenn ein angegebenes Kontingent überschritten wird, empfängt der Aufrufer einen 403 Forbidden
Antwortstatuscode.
Da sich die Richtlinie auf die vom LLM-Endpunkt zurückgegebenen Metriken zur Tokennutzung stützt, kann sie die Grenzwerte in Echtzeit genau überwachen und erzwingen. Die Richtlinie ermöglicht auch die Vorausberechnung von Eingabeaufforderungstoken durch das API Management, wodurch unnötige Anforderungen an das LLM-Back-End minimiert werden, wenn der Grenzwert bereits überschritten ist.
Hinweis
Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.
Unterstützte Modelle
Verwenden Sie die Richtlinie mit LLM-APIs, die azure API Management hinzugefügt wurden, die über die Azure AI Model Inference-API oder mit OpenAI-kompatiblen Modellen verfügbar sind, die von Drittanbietern bereitgestellt werden.
Richtlinienanweisung
<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" />
Attribute
Attribut | BESCHREIBUNG | Erforderlich | Standard |
---|---|---|---|
Gegentaste | Der Schlüssel, der für die Ratenbegrenzungsrichtlinie verwendet werden soll Für jeden Schlüsselwert wird ein einzelner Indikator für alle Bereiche verwendet, in denen die Richtlinie konfiguriert ist. Richtlinienausdrücke sind zulässig. | Ja | N/V |
Token pro Minute | Die maximale Anzahl von Token, die von Eingabeaufforderung und Abschluss pro Minute verbraucht werden. | Entweder ein Satzlimit (tokens-per-minute ), ein Kontingent (token-quota über ein token-quota-period ) oder beides muss angegeben werden. |
N/V |
Tokenkontingent | Die maximale Anzahl von Token, die während des in der token-quota-period Angegebenen Zeitintervalls zulässig sind. Richtlinienausdrücke sind nicht zulässig. |
Entweder ein Satzlimit (tokens-per-minute ), ein Kontingent (token-quota über ein token-quota-period ) oder beides muss angegeben werden. |
N/V |
token-quota-period | Die Länge des festen Fensters, nach dem die token-quota Zurücksetzung durchgeführt wird. Der Wert muss einer der folgenden Werte sein: Hourly ,Daily , , Weekly , Monthly . Yearly Die Startzeit eines Kontingentzeitraums wird als UTC-Zeitstempel berechnet, der auf die Einheit (Stunde, Tag usw.) abgeschnitten ist, die für den Zeitraum verwendet wird. |
Entweder ein Satzlimit (tokens-per-minute ), ein Kontingent (token-quota über ein token-quota-period ) oder beides muss angegeben werden. |
N/V |
Schätzaufforderungstoken | Boolescher Wert, der bestimmt, ob die Anzahl der für eine Eingabeaufforderung erforderlichen Token geschätzt werden soll: - true : Die Anzahl der Token basierend auf dem Eingabeaufforderungsschema in der API schätzen; kann die Leistung beeinträchtigen. - false : Eingabeaufforderungstoken nicht schätzen. Bei Festlegung auf false werden die verbleibenden Token pro counter-key mithilfe der tatsächlichen Tokenverwendung aus der Antwort des Modells berechnet. Dies kann dazu führen, dass Prompts an das Modell gesendet werden, das den Tokengrenzwert überschreitet. Dies wird in der Antwort erkannt, und alle erfolgreichen Anforderungen werden von der Richtlinie blockiert, bis der Tokengrenzwert wieder unterschritten wird. |
Ja | N/V |
Retry-after-header-name | Der Name eines benutzerdefinierten Antwortheaders, dessen Wert das empfohlene Wiederholungsintervall in Sekunden nach dem angegebenen tokens-per-minute oder token-quota überschrittenen Wert ist. Richtlinienausdrücke sind nicht zulässig. |
Nein | Retry-After |
retry-after-variable-name | Der Name einer Variablen, die das empfohlene Wiederholungsintervall in Sekunden nach dem angegebenen tokens-per-minute oder token-quota überschrittenen Intervall speichert. Richtlinienausdrücke sind nicht zulässig. |
Nein | N/V |
Restkontingenttoken-Headername | Der Name eines Antwortheaders, dessen Wert nach jeder Richtlinienausführung die Anzahl der verbleibenden Token ist, die token-quota dem zulässigen Wert entsprechentoken-quota-period . Richtlinienausdrücke sind nicht zulässig. |
Nein | N/V |
Restkontingenttoken-Variable-Name | Der Name einer Variablen, die nach jeder Richtlinienausführung die Anzahl der verbleibenden Token speichert, die token-quota dem zulässigen Wert entsprechentoken-quota-period . Richtlinienausdrücke sind nicht zulässig. |
Nein | N/V |
Resttoken-Headername | Der Name eines Antwortheaders, dessen Wert nach jeder Richtlinienausführung die Anzahl der verbleibenden Token ist, die für das Zeitintervall zulässig sind tokens-per-minute . Richtlinienausdrücke sind nicht zulässig. |
Nein | N/V |
Resttoken-Variable-Name | Der Name einer Variablen, die nach jeder Richtlinienausführung die Anzahl der verbleibenden Token speichert, die für das Zeitintervall zulässig sind tokens-per-minute . Richtlinienausdrücke sind nicht zulässig. |
Nein | N/V |
token-consumed-header-name | Der Name eines Antwortheaders, dessen Wert die Anzahl der Token ist, die sowohl von der Eingabeaufforderung als auch vom Abschluss verbraucht werden Der Header wird der Antwort erst hinzugefügt, nachdem die Antwort vom Back-End empfangen wurde. Richtlinienausdrücke sind nicht zulässig. | Nein | N/V |
token-consumed-variable-name | Der Name einer Variablen, die mit der geschätzten Anzahl von Token in der Eingabeaufforderung im backend -Abschnitt der Pipeline initialisiert wurde, wenn estimate-prompt-tokens gleich true ist, und andernfalls null ist. Nachdem die Antwort im outbound -Abschnitt empfangen wurde, wird die Variable mit der gemeldeten Anzahl aktualisiert. |
Nein | N/V |
Verwendung
- Richtlinienabschnitte: inbound
- Richtlinienbereiche: global, Arbeitsbereich, Produkt, API, Vorgang
- Gateways: klassisch, v2, selbstgehostet, Arbeitsbereich
Hinweise zur Verwendung
- Diese Richtlinie kann pro Richtliniendefinition mehrmals verwendet werden.
- Wenn
estimate-prompt-tokens
auffalse
eingestellt ist, werden Werte, falls verfügbar, im Verwendungsbereich der Antwort aus der LLM-API verwendet, um die Tokennutzung zu bestimmen. - Bestimmte LLM-Endpunkte unterstützen das Streaming von Antworten. Wenn
stream
in der API-Anforderung zum Aktivieren des Streamings auftrue
festgelegt ist, werden Prompttokens unabhängig vom Wert des Attributsestimate-prompt-tokens
immer geschätzt. - Bei Modellen, die Bildeingaben akzeptieren, werden Bildtoken im Allgemeinen vom Back-End-Sprachmodell gezählt und in Limit- und Kontingentberechnungen einbezogen. Wenn das Streaming jedoch verwendet oder
estimate-prompt-tokens
auf festgelegttrue
ist, zählt die Richtlinie derzeit jedes Bild als maximale Anzahl von 1200 Token. - API Management verwendet einen einzelnen Zähler für jeden
counter-key
-Wert, den Sie in der Richtlinie angeben. Der Zähler wird für alle Bereiche aktualisiert, für die die Richtlinie mit diesem Schlüsselwert konfiguriert ist. Wenn Sie für verschiedene Bereiche separate Zähler konfigurieren möchten (z. B. eine bestimmte API oder ein bestimmtes Produkt), geben Sie für die verschiedenen Bereiche unterschiedliche Schlüsselwerte an. Fügen Sie beispielsweise eine Zeichenfolge an, die den Bereich auf den Wert eines Ausdrucks festlegt. - Diese Richtlinie verfolgt die Tokennutzung unabhängig von jedem Gateway, in dem es angewendet wird, einschließlich Arbeitsbereichsgateways und regionalen Gateways in einer Bereitstellung mit mehreren Regionen. Das Token zählt nicht über die gesamte Instanz hinweg.
Beispiele
Tokenratenlimit
Im folgenden Beispiel wird der Tokenratengrenzwert von 5000 pro Minute von der IP-Adresse des Anrufers schlüsselt. Die Richtlinie schätzt die für eine Eingabeaufforderung erforderliche Anzahl von Token nicht. Nach jeder Richtlinienausführung werden die verbleibenden Token, die in dem Zeitraum für diese aufrufende IP-Adresse zulässig sind, in der Variablen remainingTokens
gespeichert.
<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>
Tokenkontingent
Im folgenden Beispiel wird das Tokenkontingent von 10000 durch die Abonnement-ID schlüsselt und monatlich zurückgesetzt. Nach jeder Richtlinienausführung wird die Anzahl der verbleibenden Token, die für diese Abonnement-ID im Zeitraum zulässig sind, in der Variablen remainingQuotaTokens
gespeichert.
<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>
Verwandte Richtlinien
- Ratenbegrenzung und Kontingente
- Richtlinie azure-openai-token-limit
- llm-emit-token-metric-Richtlinie
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Richtlinien-Playground-Repository
- Azure API Management-Richtlinientoolkit
- Anfordern von Copilot-Unterstützung zum Erstellen, Erläutern und Problembehandlung von Richtlinien