Bagikan melalui


OpenAIUsageDebuggingPlugin

Mencatat metrik penggunaan OPENAI API ke file CSV untuk tujuan penelusuran kesalahan dan analisis.

Contoh konfigurasi

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIUsageDebuggingPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ]
}

Properti konfigurasi

None

Opsi Baris Perintah

None

Komentar

OpenAIUsageDebuggingPlugin menangkap metrik penggunaan terperinci dari permintaan dan respons API yang kompatibel dengan OpenAI dan menulisnya ke file CSV. Informasi ini berguna untuk penelusuran kesalahan, melacak konsumsi token, memantau batas laju, dan menganalisis pola penggunaan API dari waktu ke waktu.

File output

Plugin membuat file CSV bernama devproxy_llmusage_<timestamp>.csv di direktori saat ini saat Dev Proxy dimulai. Format tanda waktu adalah yyyyMMddHHmmss.

Struktur file CSV

File CSV berisi kolom berikut:

kolom Description
time Tanda waktu PERMINTAAN ISO 8601
status Kode status HTTP respons
retry-after retry-after Nilai header (untuk permintaan terbatas tarif)
policy policy-id Nilai header (untuk permintaan terbatas tarif)
prompt tokens Jumlah token dalam perintah/input
completion tokens Jumlah token dalam penyelesaian/output
cached tokens Jumlah token yang di-cache (dari cache perintah)
total tokens Jumlah total token yang digunakan (prompt + completion)
remaining tokens Token yang tersisa di jendela batas tarif
remaining requests Permintaan yang tersisa di jendela batas tarif

Contoh keluaran

time,status,retry-after,policy,prompt tokens,completion tokens,cached tokens,total tokens,remaining tokens,remaining requests
2025-10-28T10:15:30.123Z,200,,,150,75,,225,9850,49
2025-10-28T10:15:35.456Z,200,,,200,100,50,300,9550,48
2025-10-28T10:15:40.789Z,429,60,rate-limit-policy-1,,,,,,0

Skenario yang didukung

Plugin mencatat metrik untuk:

  • Permintaan yang berhasil (kode status 2xx): Mengambil metrik penggunaan token termasuk token prompt, token penyelesaian, token cache, dan batas laju yang tersisa
  • Respons kesalahan (kode status 4xx): Menangkap informasi pembatasan laju termasuk header coba lagi setelah dan ID kebijakan

Respons streaming

Plugin menangani respons streaming dengan benar (menggunakan text/event-stream jenis konten) dengan mengekstrak potongan akhir yang berisi informasi penggunaan.

Kasus penggunaan

Plugin ini berguna untuk:

  • Men-debug konsumsi token: Memahami berapa banyak token yang digunakan oleh perintah dan penyelesaian Anda
  • Batas laju pemantauan: Melacak token dan permintaan yang tersisa untuk menghindari mencapai batas tarif
  • Analisis biaya: Menganalisis pola penggunaan token untuk memperkirakan biaya
  • Pengoptimalan performa: Mengidentifikasi permintaan dengan jumlah token tinggi
  • Analisis penembolokan perintah: Melacak penggunaan token yang di-cache untuk mengoptimalkan strategi penembolokan prompt

Perbandingan dengan OpenAITelemetryPlugin

Sementara OpenAITelemetryPlugin mengirim data telemetri ke dasbor yang kompatibel dengan OpenTelemetry untuk pemantauan dan visualisasi real time, OpenAIUsageDebuggingPlugin berfokus pada pembuatan log CSV terperinci untuk analisis offline dan penelusuran kesalahan. Kedua plugin saling melengkapi:

  • Gunakan OpenAITelemetryPlugin untuk pemantauan real time, pelacakan biaya, dan integrasi dengan platform observabilitas
  • Gunakan OpenAIUsageDebuggingPlugin untuk informasi debugging terperinci, analisis berbasis CSV, dan laju pelacakan

Anda dapat mengaktifkan kedua plugin secara bersamaan untuk mendapatkan telemetri real-time dan log CSV terperinci.

Langkah selanjutnya