Diese Seite gilt für Apigee, aber nicht für Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Übersicht
Die LLM-Tokenrichtlinien von Apigee sind entscheidend für die Kostenkontrolle, Leistungsoptimierung und Plattformstabilität. Sie nutzen LLM-Tokennutzungs- und Nutzer-Prompt-Tokenmesswerte, um Limits durchzusetzen und Echtzeit-Monitoring zu ermöglichen.
In diesem Dokument wird beschrieben, wie Sie die folgenden LLM-Tokenrichtlinien verwenden:
- PromptTokenLimit-Richtlinie: Schützt Ziele vor Token-Missbrauch, indem Tokens basierend auf der Nutzer-Prompt-Nachricht gedrosselt werden. Die PromptTokenLimit-Richtlinie ist wie eine Überspannungssicherung für Ihre KI-Prompts. So können Sie die Rate der Tokennutzung durch Nutzerprompts steuern, um Missbrauch zu verhindern und sicherzustellen, dass Ihre Back-End-Dienste nicht überlastet werden.
- LLMTokenQuota-Richtlinie: Mit dieser Richtlinie werden LLM-Ausgaben kontrolliert und eine detaillierte Kontingentverwaltung basierend auf API-Produkten angewendet. Mit der LLMTokenQuota-Richtlinie können Sie Grenzwerte für den Tokenverbrauch für Ihre LLM-APIs über einen bestimmten Zeitraum (z.B. pro Minute, Stunde, Tag oder Monat) erzwingen. Dies ist entscheidend für die Kostenverwaltung und die faire Nutzung Ihrer KI-Dienste.
PromptTokenLimit-Richtlinie
Verwenden Sie die PromptTokenLimit-Richtlinie, wenn Sie Ihre Backend-Dienste vor plötzlichen Spitzen bei der Tokennutzung durch Nutzer-Prompts schützen möchten. Sie können beispielsweise die Anzahl der Tokens pro Minute auf eine angemessene Zahl begrenzen, um zu verhindern, dass ein einzelner Nutzer Ihren Dienst überlastet.
Fügen Sie diese Richtlinie dem Anfrageablauf Ihres API-Proxy hinzu.
Im folgenden Beispiel für die PromptTokenLimit-Richtlinie wird die Tokenrate auf 1.000 Tokens pro Minute begrenzt:
<PromptTokenLimit continueOnError="false" enabled="true" name="PTL-limitTokens-1">
<DisplayName>Limit Prompt Tokens</DisplayName>
<!-- The rate at which to limit tokens. Here, 1,000 per minute -->
<Rate>1000pm</Rate>
<!-- Specifies where to get the user's prompt from the request -->
<UserPromptSource>{jsonPath('$.contents[-1].parts[-1].text',request.content,true)}</UserPromptSource>
</PromptTokenLimit>Wobei:
<Rate>: Die Rate, mit der Tokens begrenzt werden sollen.<UserPromptSource>: Gibt an, wo der Prompt des Nutzers aus der Anfrage abgerufen werden soll.
Auf der Referenzseite zur PromptTokenLimit-Richtlinie finden Sie:
Konfigurieren Sie die PromptTokenLimit-Richtlinie in der Apigee-Benutzeroberfläche, wenn Sie die folgenden Aufgaben ausführen:
- API-Produkt erstellen
- API-Proxy mithilfe der Benutzeroberfläche erstellen
- Richtlinien in der Benutzeroberfläche anhängen und konfigurieren
LLMTokenQuota-Richtlinie
Verwenden Sie die LLMTokenQuota-Richtlinie, wenn Sie Kontingente für den Tokenverbrauch für verschiedene API-Produkte, Entwickler oder Apps festlegen und erzwingen möchten. Sie können beispielsweise für verschiedene Abostufen unterschiedliche Tokenkontingente anbieten.
Die Richtlinie kann auf zwei Arten verwendet werden:
-
Tokens zählen: Mit der Einstellung
CountOnlykönnen Sie die Tokennutzung verfolgen, ohne ein hartes Limit zu erzwingen. Das ist nützlich für die Überwachung und Berichterstellung. -
Kontingente erzwingen: Mit der Einstellung
EnforceOnlykönnen Sie API-Aufrufe ablehnen, sobald das Tokenkontingent überschritten wurde.
Fügen Sie dem Anfrageablauf eine EnforceOnly-Richtlinie hinzu, um zu prüfen, ob das Kontingent überschritten wurde. Fügen Sie dem Antwortablauf eine CountOnly-Richtlinie hinzu, um die in der LLM-Antwort verwendeten Tokens zu zählen.
Das folgende Beispiel für die LLMTokenQuota-Richtlinie erzwingt ein Kontingent von 10.000 Tokens pro Stunde. Die Einstellungen werden dynamisch aus einem API-Produkt abgerufen:
<LLMTokenQuota name="Quota-Enforce-Only" type="rollingwindow"> <EnforceOnly>true</EnforceOnly> <!-- The interval and time unit for the quota --> <Interval ref="verifyapikey.verify-api-key.apiproduct.developer.llmQuota.interval">1</Interval> <TimeUnit ref="verifyapikey.verify-api-key.apiproduct.developer.llmQuota.timeunit">hour</TimeUnit> <!-- The number of tokens allowed in the interval --> <Allow count="10000" countRef="verifyapikey.verify-api-key.apiproduct.developer.llmQuota.limit"/> <!-- Specifies where to get the token usage from the LLM's response --> <LLMTokenUsageSource>{jsonPath('$.usageMetadata.candidatesTokenCount',response.content,true)}</LLMTokenUsageSource> <!-- Specifies where to get the model name from the LLM's response --> <LLMModelSource>{jsonPath('$.model',response.content,true)}</LLMModelSource> </LLMTokenQuota>
Wobei:
<EnforceOnly>: Wenn dieser Wert auftruefestgelegt ist, wird dieses Element verwendet, um API-Aufrufe abzulehnen, sobald das Tokenkontingent überschritten wurde. So können API-Anbieter strenge Limits für die Anzahl der Tokens festlegen, die von Anwendungen über einen bestimmten Zeitraum verbraucht werden.<Interval>: Dieses Element gibt das Zeitintervall an, für das die Anzahl der Tokens aus LLM-Antworten berechnet wird. Sie wird in Verbindung mit<TimeUnit>und<Allow>verwendet, um das Tokenkontingent zu definieren.<TimeUnit>: Dieses Element definiert die Zeiteinheit für<Interval>. Zulässige Werte sindminute,hour,dayodermonth.<Allow>: Dieses Element definiert die Anzahl der Tokens, die in der<Interval>zulässig sind.<LLMTokenUsageSource>: Dieses Element gibt die Quelle der Tokennutzung aus der LLM-Antwort an. Es sollte eine Nachrichtenvorlage sein, die einen einzelnen Wert für die Tokennutzung enthält.<LLMModelSource>: Dieses Element gibt die Quelle des Modells aus der LLM-Antwort oder -Anfrage an. Es sollte sich um eine Nachrichtenvorlage handeln, die einen einzelnen Wert für den Modellnamen enthält.
Weitere Informationen finden Sie auf der Referenzseite zur LLMTokenQuota-Richtlinie:
Konfigurieren Sie die LLMTokenQuota-Richtlinie in der Apigee-Benutzeroberfläche, wie in den folgenden Abschnitten beschrieben:
- API-Produkt erstellen
- API-Proxy mithilfe der Benutzeroberfläche erstellen
- Richtlinien in der Benutzeroberfläche anhängen und konfigurieren
Beschränkungen
Für die LLM-Tokenrichtlinien gelten die folgenden Einschränkungen:
- Einschränkungen der LLMTokenQuota-Richtlinie
- Die Richtlinie unterstützt derzeit nur textbasierte Tokens.
- Die letzte zulässige Anfrage kann mehr Tokens verbrauchen als das verbleibende Kontingent.
- Für die Richtlinie ist der genaue JSON-Pfad für die in der Antwortnutzlast verwendeten LLM-Tokens erforderlich. Er kann nicht automatisch erkannt werden.
- Für jedes SSE-Ereignis sind derzeit Metadaten erforderlich.
- Einschränkungen der PromptTokenLimit-Richtlinie
- Die Richtlinie unterstützt derzeit nur textbasierte Tokens.
- In der Richtlinie wird eine Standardbibliothek verwendet, um die Tokens zu zählen. Dies kann sich von der Art und Weise unterscheiden, wie einige LLM-Anbieter Tokens zählen.
- Für die Richtlinie ist der genaue JSON-Pfad für den Prompt-Text erforderlich. Er kann nicht dynamisch ermittelt werden.