Udostępnij przez


OpenAIUsageDebuggingPlugin

Rejestruje metryki użycia interfejsu API openAI w pliku CSV na potrzeby debugowania i analizy.

Definicja wystąpienia wtyczki

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

Przykład konfiguracji

Żaden

Właściwości konfiguracji

Żaden

Opcje wiersza polecenia

Żaden

Uwagi

Plik OpenAIUsageDebuggingPlugin przechwytuje szczegółowe metryki użycia z żądań i odpowiedzi interfejsu API zgodnego z interfejsem OpenAI oraz zapisuje je w pliku CSV. Te informacje są przydatne do debugowania, śledzenia użycia tokenów, monitorowania limitów szybkości i analizowania wzorców użycia interfejsu API w czasie.

Plik wyjściowy

Wtyczka tworzy plik CSV o nazwie devproxy_llmusage_<timestamp>.csv w bieżącym katalogu po uruchomieniu serwera proxy dev. Format znacznika czasu to yyyyMMddHHmmss.

Struktura plików CSV

Plik CSV zawiera następujące kolumny:

Kolumna Description
time Znacznik czasu iso 8601 żądania
status Kod stanu HTTP odpowiedzi
retry-after Wartość nagłówka retry-after (dla żądań z ograniczeniami szybkości)
policy Wartość nagłówka policy-id (dla żądań z ograniczeniami szybkości)
prompt tokens Liczba tokenów w wierszu polecenia/danych wejściowych
completion tokens Liczba tokenów w uzupełnianiu/danych wyjściowych
cached tokens Liczba buforowanych tokenów (z pamięci podręcznej monitów)
total tokens Łączna liczba użytych tokenów (monit + ukończenie)
remaining tokens Pozostałe tokeny w oknie limitu szybkości
remaining requests Pozostałe żądania w oknie limitu szybkości

Przykładowe dane wyjściowe

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

Obsługiwane scenariusze

Metryki dzienników wtyczek dla:

  • Żądania zakończone powodzeniem (kody stanu 2xx): przechwytuje metryki użycia tokenu, w tym tokeny monitu, tokeny ukończenia, buforowane tokeny i pozostałe limity szybkości
  • Odpowiedzi na błędy (kody stanu 4xx): przechwytuje informacje ograniczające szybkość, w tym nagłówki po ponowieniu próby i identyfikatory zasad

Odpowiedzi streamingowe

Wtyczka poprawnie obsługuje odpowiedzi przesyłane strumieniowo (przy użyciu text/event-stream typu zawartości), wyodrębniając ostatni fragment zawierający informacje o użyciu.

Przypadki użycia

Ta wtyczka jest przydatna w następujących celach:

  • Użycie tokenu debugowania: opis liczby tokenów używanych przez monity i uzupełnienia
  • Monitorowanie limitów szybkości: śledzenie pozostałych tokenów i żądań, aby uniknąć osiągnięcia limitów szybkości
  • Analiza kosztów: analizowanie wzorców użycia tokenów w celu oszacowania kosztów
  • Optymalizacja wydajności: identyfikowanie żądań z dużą liczbą tokenów
  • Analiza buforowania monitów: śledzenie użycia buforowanego tokenu w celu optymalizacji strategii buforowania monitów

Porównanie z funkcją OpenAITelemetryPlugin

Podczas gdy interfejs OpenAITelemetryPlugin wysyła dane telemetryczne do pulpitów nawigacyjnych zgodnych z biblioteką OpenTelemetry na potrzeby monitorowania i wizualizacji w czasie rzeczywistym, funkcja OpenAIUsageDebuggingPlugin koncentruje się na tworzeniu szczegółowych dzienników CSV na potrzeby analizy i debugowania w trybie offline. Dwie wtyczki uzupełniają się nawzajem:

  • Używanie biblioteki OpenAITelemetryPlugin do monitorowania, śledzenia kosztów i integracji z platformami do obserwacji w czasie rzeczywistym
  • Użyj polecenia OpenAIUsageDebuggingPlugin do szczegółowego debugowania, analizy opartej na woluminach CSV i śledzenia informacji o limicie szybkości

Obie wtyczki można włączyć jednocześnie, aby uzyskać zarówno dane telemetryczne w czasie rzeczywistym, jak i szczegółowe dzienniki CSV.

Następny krok