Ausgeben von Metriken für den Verbrauch von Azure OpenAI-Token
GILT FÜR: Alle API Management-Ebenen
Die Richtlinie azure-openai-emit-token-metric
sendet benutzerdefinierte Metriken an Application Insights über den Verbrauch von LLM-Token (große Sprachmodelle) über Azure OpenAI Service-APIs. Zu den Metriken für die Tokenanzahl gehören: Gesamttoken, Eingabeaufforderungstoken und Abschlusstoken.
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 Azure OpenAI Service-Modelle
Die Richtlinie wird mit APIs der folgenden Typen verwendet, die dem API Management aus dem Azure OpenAI Service hinzugefügt werden:
API-Typ | Unterstützte Modelle |
---|---|
Chatvervollständigung | gpt-3.5 gpt-4 |
Completion | gpt-3.5-turbo-instruct |
Einbettungen | text-embedding-3-large text-embedding-3-small text-embedding-ada-002 |
Weitere Informationen finden Sie unter Azure OpenAI Service-Modelle.
Grenzwerte für benutzerdefinierte Metriken
Azure Monitor legt Nutzungsgrenzwerte für benutzerdefinierte Metriken fest, die sich auf ihre Fähigkeit auswirken können, Metriken aus API Management auszugeben. Beispielsweise legt Azure Monitor derzeit einen Grenzwert von 10 Dimensionsschlüsseln pro Metrik und einen Grenzwert von insgesamt 50.000 aktiven Zeitreihen pro Region in einem Abonnement fest (innerhalb eines Zeitraums von 12 Stunden).
Diese Grenzwerte haben die folgenden Auswirkungen auf die Konfiguration benutzerdefinierter Metriken in API Management wie emit-metric
und azure-openai-emit-token-metric
:
Sie können maximal 10 benutzerdefinierte Dimensionen pro -Richtlinie konfigurieren.
Die Anzahl der aktiven Zeitreihen, die von der -Richtlinie innerhalb eines Zeitraums von 12 Stunden generiert werden, ist das Produkt der Anzahl eindeutiger Werte jeder konfigurierten Dimension während des Zeitraums. Wenn beispielsweise drei benutzerdefinierte Dimensionen in der Richtlinie konfiguriert wurden und jede Dimension innerhalb des Zeitraums 10 mögliche Werte aufweist, würde die Richtlinie 1.000 (10 x 10 x 10) aktive Zeitreihen beitragen.
Wenn Sie die -Richtlinie in mehreren API Management-Instanzen konfigurieren, die sich in derselben Region in einem Abonnement befinden, können alle Instanzen zum regionalen aktiven Zeitreihengrenzwert beitragen.
Erfahren Sie mehr über Entwurfsbeschränkungen und -überlegungen für benutzerdefinierte Metriken in Azure Monitor.
Voraussetzungen
- Mindestens eine der Azure OpenAI Service-APIs muss Ihrer API Management-Instanz hinzugefügt werden. Weitere Informationen finden Sie unter Hinzufügen einer Azure OpenAI Service-API zum Azure API Management.
- Ihre API Management-Instanz muss in Application Insights integriert werden. Weitere Informationen finden Sie unter Integrieren von Azure API Management in Azure Application Insights.
- Aktivieren Sie die Application Insights-Protokollierung für Ihre Azure OpenAI-APIs.
- Aktivieren Sie benutzerdefinierte Metriken mit Dimensionen in Application Insights. Weitere Informationen finden Sie unter Benutzerdefinierte Metriken ausgeben.
Richtlinienanweisung
<azure-openai-emit-token-metric
namespace="metric namespace" >
<dimension name="dimension name" value="dimension value" />
...additional dimensions...
</azure-openai-emit-token-metric>
Attribute
Attribut | BESCHREIBUNG | Erforderlich | Standardwert |
---|---|---|---|
Namespace | Eine Zeichenfolge. Namespace der Metrik Richtlinienausdrücke sind nicht zulässig. | Nein | API Management |
Elemente
Element | BESCHREIBUNG | Erforderlich |
---|---|---|
Dimension | Fügen Sie mindestens eines dieser Elemente für jede Dimension hinzu, die in der Metrik enthalten ist. | Ja |
Dimensionsattribute
attribute | BESCHREIBUNG | Erforderlich | Standardwert |
---|---|---|---|
name | Eine Zeichenfolge oder ein Richtlinienausdruck. Der Name der Dimension. | Ja | – |
value | Eine Zeichenfolge oder ein Richtlinienausdruck. Der Wert der Dimension. Kann nur ausgelassen werden, wenn name mit einer der Standarddimensionen übereinstimmt. In diesem Fall wird der Wert gemäß Dimensionsname bereitgestellt. |
Nein | – |
Namen von Standarddimensionen, die ohne Wert verwendet werden können
- API-ID
- Vorgangs-ID
- Product ID
- Benutzer-ID
- Abonnement-ID
- Location
- Gateway-ID
Verbrauch
- Richtlinienabschnitte: inbound
- Richtlinienbereiche: global, Arbeitsbereich, Produkt, API, Vorgang
- Gateways: klassisch, v2, Verbrauch, selbstgehostet, Arbeitsbereich
Hinweise zur Verwendung
- Diese Richtlinie kann pro Richtliniendefinition mehrmals verwendet werden.
- Sie können maximal 10 benutzerdefinierte Dimensionen für diese Richtlinie konfigurieren.
- Diese Richtlinie kann optional konfiguriert werden, wenn eine API aus dem Azure OpenAI-Dienst über das Portal hinzugefügt wird.
- Falls verfügbar, werden Werte im Verwendungsbereich der Antwort aus der Azure OpenAI-Dienst-API verwendet, um Tokenmetriken zu bestimmen.
- Bestimmte Azure OpenAI-Endpunkte unterstützen das Streaming von Antworten. Wenn
stream
in der API-Anforderung zum Aktivieren des Streamings auftrue
festgelegt ist, werden Tokenmetriken geschätzt.
Beispiel
Im folgenden Beispiel werden die Metriken zur Azure OpenAI-Tokenanzahl zusammen mit der API-ID als benutzerdefinierte Dimension an Application Insights gesendet.
<policies>
<inbound>
<azure-openai-emit-token-metric
namespace="AzureOpenAI">
<dimension name="API ID" />
</azure-openai-emit-token-metric>
</inbound>
<outbound>
</outbound>
</policies>
Verwandte Richtlinien
- Logging
- Richtlinie emit-metric
- Richtlinie azure-openai-token-limit
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
- Erstellen von Richtlinien mit Microsoft Copilot in Azure