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.
Protokolliert OpenAI-Telemetriedaten aus den abgefangenen openAI-kompatiblen Anforderungen und Antworten.
Definition der Plug-In-Instanz
{
"name": "OpenAITelemetryPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "openAITelemetryPlugin"
}
Konfigurationsbeispiel
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/openaitelemetryplugin.schema.json",
"application": "My app",
"includeCosts": true,
"pricesFile": "prices.json"
}
}
Konfigurationseigenschaften
| Eigentum | BESCHREIBUNG | Standard |
|---|---|---|
application |
Name der Anwendung, die die Anforderungen ausgibt. Melden Sie sich bei den Telemetriedaten an, um die Nutzung nach Anwendung zu gruppieren. | default |
currency |
Die Währung, in der die Preise protokolliert werden. In Diagrammen angezeigt. | USD |
environment |
Umgebung, in der die Anwendung ausgeführt wird. Angemeldet in den Telemetriedaten, um die Nutzung nach Umgebung zu gruppieren. | development |
exporterEndpoint |
Die URL des OpenTelemetry-Endpunkts, an den die Daten gesendet werden sollen. Muss http Protobuf-Endpunkt sein. | http://localhost:4318 |
includeCompletion |
Gibt an, ob der Abschluss in die Telemetriedaten eingeschlossen werden soll. | true |
includeCosts |
Gibt an, ob die Kosten in die Telemetriedaten einbezogen werden sollen. Erfordert die Angabe der Preisdatei. | false |
includePrompt |
Gibt an, ob die Eingabeaufforderung in die Telemetriedaten eingeschlossen werden soll. | true |
pricesFile |
Pfad zur Datei mit Preisinformationen. | null |
Preisdatei (Beispiel)
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/openaitelemetryplugin.pricesfile.schema.json",
"prices": {
"gpt-3.5-turbo": {
"input": 0.0015,
"output": 0.002
},
"gpt-4": {
"input": 0.03,
"output": 0.06
}
}
}
Preise Dateieigenschaften
| Eigentum | BESCHREIBUNG | Standard |
|---|---|---|
prices |
Preise für die Modelle. Der Schlüssel ist der Modellname, und der Wert ist das Modellpreisobjekt. | {} |
Model prices-Objekt
Jedes Modellpreisobjekt weist die folgenden Eigenschaften auf:
| Eigentum | BESCHREIBUNG | Erforderlich | Standardwert | Beispielwert |
|---|---|---|---|---|
input |
Der Preis pro Million Token für Eingabe-/Eingabeaufforderungstoken. | ja | 0.0 |
0.03 |
output |
Der Preis pro Million Token für Ausgabe-/Abschlusstoken. | ja | 0.0 |
0.06 |
Befehlszeilenoptionen
Nichts
Bemerkungen
OpenAITelemetryPlugin protokolliert OpenTelemetry-Daten aus den openAI-kompatiblen Anforderungen und Antworten, die sie abfangen. Ohne ihre Anwendung mit OpenTelemetry zu instrumentieren, können Sie schnell verstehen, wie Ihre Anwendung große Sprachmodelle verwendet. Wenn Sie außerdem preise für die von Ihnen verwendeten Modelle bereitstellen, können Sie auch die LLM-bezogenen Kosten sehen, die Ihre Anwendung verursacht.
Für jede abgefangene Anforderung und Antwort protokolliert das Plug-In eine Spanne. Darüber hinaus werden drei Metriken protokolliert:
-
gen_ai.client.token.usage- die Anzahl der token, die in der Anforderung und Antwort verwendet werden -
gen_ai.usage.cost- die Kosten der token, die in der Anforderung und Antwort verwendet werden -
gen_ai.usage.total_cost- die Gesamtkosten aller Anfragen während einer Sitzung
Von Bedeutung
Die Kostenmetriken werden nur protokolliert, wenn Sie die includeCosts Eigenschaft auf true die Preisdatei festlegen und diese angeben. Andernfalls protokolliert das Plug-In die Metriken nicht.
Zum Anzeigen der aufgezeichneten Telemetriedaten können Sie ein beliebiges openTelemetry-kompatibles Dashboard verwenden. Sie können z. B. das .NET Aspire-Dashboard oder OpenLIT verwenden.
Von Bedeutung
Um die Daten anzuzeigen, starten Sie das Dashboard, bevor Sie openAI-kompatible Anforderung ausstellen. Andernfalls gibt es keinen OpenTelemetry-Sammler, um die Daten zu empfangen, die das Plug-In sendet.