Tokenverwaltung
Stellen Sie sich vor, Sie erhalten einen plötzlichen Datenverkehr in Richtung Ihrer API, vielleicht wegen eines Sales oder aus einem anderen Grund. Um übermäßigen Verbrauch und mögliche Dienstunterbrechungen zu vermeiden, müssen Sie herausfinden, wie Sie damit umgehen können.
Grenzwertrichtlinie für Azure OpenAI-Token
Wie am Anfang dieser Lektion erwähnt, müssen plötzliche Spitzen gehandhabt werden. Die gute Nachricht ist, dass Azure API Management eine Grenzwertrichtlinie für Token hat.
Diese Richtlinie ermöglicht es Kunden, Grenzwerte für die Tokennutzung festzulegen, ausgedrückt in Token pro Minute (TPM), und stellt eine faire und effiziente Nutzung von OpenAI-Ressourcen sicher.
Schlüsselfunktionen
Die wichtigsten Features dieser Richtlinie sind:
- Präzise Steuerung: Kunden können tokenbasierte Grenzwerte für verschiedene Leistungsschlüssel zuweisen, z. B. Abonnementschlüssel oder IP-Adresse, und so die Erzwingung auf bestimmte Anwendungsfälle zuschneiden.
- Überwachung in Echtzeit: Die Richtlinie basiert auf Tokennutzungsmetriken, die vom OpenAI-Endpunkt zurückgegeben werden, wodurch eine genaue Überwachung und Durchsetzung von Grenzwerten in Echtzeit ermöglicht wird.
- Vorberechnung von Token: Sie ermöglicht die Vorberechnung von Eingabeaufforderungstoken durch Azure API Management, wodurch unnötige Anforderungen an das OpenAI-Back-End minimiert werden, wenn der Grenzwert bereits überschritten wurde.
- Erweiterte Anpassung: Kunden können Header und Variablen wie tokens-consumed und remaining-tokens innerhalb von Richtlinien anwenden, um eine bessere Kontrolle und Anpassung zu ermöglichen.
Wie Sie sehen, gibt es eine ganze Reihe von Features, die Ihnen bei der Kostenverwaltung helfen, und dank der Echtzeitüberwachung können Sie sicherstellen, dass Sie die Grenzwerte nicht überschreiten.
Verwendung
Um diese Richtlinie zu verwenden, müssen Sie sie der eingehenden Verarbeitungspipeline des API-Vorgangs hinzufügen. Gehen Sie hierzu wie folgt vor:
<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" />
Es gibt einige Attribute, die Sie festlegen können, aber die wichtigsten sind:
- counter-key: Der Schlüssel, der zum Zählen von Token verwendet werden soll. Dieser Wert kann ein Abonnementschlüssel oder eine IP-Adresse sein.
- tokens-per-minute: Die Anzahl der pro Minute zulässigen Token.
- estimate-prompt-tokens: Gibt an, ob Eingabeaufforderungstoken geschätzt werden sollen.
Metrikrichtlinie für von Azure OpenAI ausgegebene Token
Diese Richtlinie ermöglicht die detaillierte Überwachung und Analyse der Tokennutzung in Anwendungen mit Azure OpenAI-Modellen.
Durch die Bereitstellung umfassender Metriken können Organisationen:
- Ressourcenzuordnung optimieren: Sie verstehen die Tokennutzung und können sie effektiv verwalten.
- Entscheidungsfindung verbessern: Sie gewinnen Einblicke in Nutzungsmuster, um fundierte Entscheidungen über Skalierung und Ressourcenmanagement treffen zu können.
- Leistungsüberwachung verbessern: Sie können die Tokennutzung zur proaktiven Identifizierung und Behebung potenzieller Probleme nachverfolgen und analysieren.
Verwenden der Metrikrichtlinie für von Azure OpenAI ausgegebene Token
Um diese Richtlinie zu verwenden, müssen Sie sie der eingehenden Verarbeitungspipeline des API-Vorgangs hinzufügen. So codieren Sie sie in XML:
<azure-openai-emit-token-metric
namespace="metric namespace" >
<dimension name="dimension name" value="dimension value" />
...additional dimensions...
</azure-openai-emit-token-metric>
Hier ist ein Beispiel mit mehreren Dimensionen:
<policies>
<inbound>
<azure-openai-emit-token-metric
namespace="AzureOpenAI">
<dimension name="User ID" />
<dimension name="Client IP" value="@(context.Request.IpAddress)" />
<dimension name="API ID" />
</azure-openai-emit-token-metric>
</inbound>
<outbound>
</outbound>
</policies>
Im vorherigen Beispiel:
- Die Richtlinie ist so konfiguriert, dass Tokenmetriken an den AzureOpenAI-Namespace mit Dimensionen für Benutzer-ID, Client-IP und API-ID ausgegeben werden.
- Der Wert der Client-IP-Dimension wird auf die IP-Adresse des Clients festgelegt, der die Anforderung stellt.
Stellen Sie sich jetzt vor, dass Sie diese Metriken in einem Dashboard anzeigen und die Verwendung Ihrer API in Echtzeit überwachen können. Sie können beispielsweise sehen, wie viele Token von einem bestimmten Benutzer oder von einer bestimmten API verwendet werden. Dieses leistungsstarke Feature kann Ihnen helfen, Ihre Ressourcen zu optimieren und fundierte Entscheidungen zur Skalierung und Ressourcenverwaltung zu treffen.