Dela via


OpenAITelemetryPlugin

Loggar OpenAI-telemetridata från de uppfångade OpenAI-kompatibla begäranden och svaren.

Skärmbild av instrumentpanelen .NET Aspire som visar OpenAI-telemetridata.

Skärmbild av OpenLIT-instrumentpanelen med OpenAI-telemetridata.

Definition av plugin-instans

{
  "name": "OpenAITelemetryPlugin",
  "enabled": true,
  "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
  "configSection": "openAITelemetryPlugin"
}

Konfigurationsexempel

{
  "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"
  }
}

Konfigurationsegenskaper

Fastighet Beskrivning Förinställning
application Namnet på programmet som utfärdar begäranden. Loggade in telemetridata för att gruppera användning efter program. default
currency Den valuta där priserna loggas. Visas i diagram. USD
environment Miljö där programmet körs. Loggade in telemetridata för att gruppera användning efter miljö. development
exporterEndpoint URL:en för OpenTelemetry-slutpunkten som data ska skickas till. Måste vara HTTP Protobuf-slutpunkt. http://localhost:4318
includeCompletion Om du vill inkludera slutförandet i telemetridata. true
includeCosts Om kostnaderna ska inkluderas i telemetridata. Kräver att du anger prisfilen. false
includePrompt Om prompten ska inkluderas i telemetridata. true
pricesFile Sökväg till filen med prisinformation. null

Exempel på prisfil

{
  "$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
    }
  }
}

Filegenskaper för priser

Fastighet Beskrivning Förinställning
prices Priser för modellerna. Nyckeln är modellnamnet och värdet är modellprisobjektet. {}

Objekt för modellpriser

Varje modellprisobjekt har följande egenskaper:

Fastighet Beskrivning Krävs Standardvärde Exempelvärde
input Priset per miljon token för indata-/prompttoken. Ja 0.0 0.03
output Priset per miljon token för utdata/slutförandetoken. Ja 0.0 0.06

Kommandoradsalternativ

Ingen

Anmärkningar

OpenAITelemetryPlugin loggar OpenTelemetry-data från OpenAI-kompatibla begäranden och svar som den fångar upp. Utan att behöva instrumentera ditt program med OpenTelemetry kan du snabbt förstå hur ditt program använder stora språkmodeller. Om du anger prisfilen för de modeller som du använder kan du också se de LLM-relaterade kostnader som programmet medför.

För varje avlyssnad begäran och svar loggar plugin-programmet ett spann. Dessutom loggar den tre mått:

  • gen_ai.client.token.usage – antalet token som används i begäran och svaret
  • gen_ai.usage.cost – kostnaden för de token som används i begäran och svaret
  • gen_ai.usage.total_cost - Den totala kostnaden för alla begäranden under en session

Viktigt!

Kostnadsmåtten loggas endast om du anger includeCosts egenskapen till true och anger prisfilen. Annars loggar plugin-programmet inte måtten.

Om du vill visa inspelade telemetridata kan du använda valfri OpenTelemetry-kompatibel instrumentpanel. Du kan till exempel använda .NET Aspire-instrumentpanelen eller OpenLIT.

Viktigt!

Om du vill se data startar du instrumentpanelen innan du utfärdar En OpenAI-kompatibel begäran. Annars finns det ingen OpenTelemetry-insamlare som tar emot de data som plugin-programmet skickar.

Nästa steg