Aracılığıyla paylaş


OpenAITelemetryPlugin

Kesilen OpenAI uyumlu istek ve yanıtlardan OpenAI telemetri verilerini günlüğe kaydeder.

OpenAI telemetri verilerini gösteren .NET Aspire panosunun ekran görüntüsü.

OpenAI telemetri verilerini gösteren OpenLIT panosunun ekran görüntüsü.

Eklenti örneği tanımı

{
  "name": "OpenAITelemetryPlugin",
  "enabled": true,
  "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
  "configSection": "openAITelemetryPlugin"
}

Yapılandırma örneği

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

Yapılandırma özellikleri

Mülkiyet Açıklama Varsayılan
application İstekleri veren uygulamanın adı. Telemetri verilerinde kullanımı uygulamaya göre gruplandırmak için günlüğe kaydedildi. default
currency Fiyatların günlüğe kaydedildiği para birimi. Grafiklerde görüntülenir. USD
environment Uygulamanın çalıştığı ortam. Telemetri verilerinin kullanımını ortama göre gruplandırmak için günlüğe kaydedildi. development
exporterEndpoint Verileri göndermek için OpenTelemetry uç noktasının URL'si. HTTP Protobuf uç noktası olmalıdır. http://localhost:4318
includeCompletion Telemetri verilerine tamamlanmanın dahil edilip edilmeyeceği. true
includeCosts Telemetri verilerine maliyetlerin dahil edilip edilmeyeceği. Fiyatlar dosyasının belirtilmesi gerekir. false
includePrompt Telemetri verilerine istem eklenip eklenmeyeceği. true
pricesFile Fiyat bilgilerini içeren dosyanın yolu. null

Fiyat dosyası örneği

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

Fiyat dosyası özellikleri

Mülkiyet Açıklama Varsayılan
prices Modellerin fiyatları. Anahtar, model adıdır ve değer model fiyatları nesnesidir. {}

Model fiyatları nesnesi

Her model prices nesnesi aşağıdaki özelliklere sahiptir:

Mülkiyet Açıklama Gerekli Varsayılan değer Örnek değer
input Giriş/istem belirteçleri için milyon belirteç başına fiyat. evet 0.0 0.03
output Çıktı/tamamlama belirteçleri için milyon belirteç başına fiyat. evet 0.0 0.06

Komut satırı seçenekleri

Hiç kimse

Açıklamalar

OpenAITelemetryPlugin, OpenAI ile uyumlu isteklerden ve yakaladığı yanıtlardan OpenTelemetry verilerini günlüğe kaydeder. Uygulamanızı OpenTelemetry ile izlemeniz gerekmeden, uygulamanızın büyük dil modellerini nasıl kullandığını hızla anlayabilirsiniz. Ayrıca, kullandığınız modeller için fiyat dosyası sağlarsanız, uygulamanızın tahakkuk eden LLM ile ilgili maliyetleri de görebilirsiniz.

Kesilen her istek ve yanıt için eklenti bir yayılma alanı günlüğe kaydeder. Ayrıca üç ölçümü günlüğe kaydeder:

  • gen_ai.client.token.usage - istek ve yanıtta kullanılan belirteçlerin sayısı
  • gen_ai.usage.cost - istek ve yanıtta kullanılan belirteçlerin maliyeti
  • gen_ai.usage.total_cost - oturum süresi boyunca tüm isteklerin toplam maliyeti

Önemli

Maliyet ölçümleri yalnızca özelliği olarak ayarladığınızda includeCosts ve fiyat dosyasını sağladığınızda günlüğe true kaydedilir. Aksi takdirde eklenti ölçümleri günlüğe kaydetmez.

Kaydedilen telemetri verilerini görüntülemek için OpenTelemetry uyumlu panoları kullanabilirsiniz. Örneğin, .NET Aspire panosunu veya OpenLIT'i kullanabilirsiniz.

Önemli

Verileri görmek için OpenAI uyumlu istek göndermeden önce panoyu başlatın. Aksi takdirde, eklentinin gönderdiği verileri almak için OpenTelemetry toplayıcısı yoktur.

Sonraki adım