Sdílet prostřednictvím


OpenAIUsageDebuggingPlugin

Protokoluje metriky využití rozhraní OpenAI API do souboru CSV pro účely ladění a analýzy.

Příklad konfigurace

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

Vlastnosti konfigurace

None

Možnosti příkazového řádku

None

Poznámky

OpenAIUsageDebuggingPlugin zaznamenává podrobné metriky využití z požadavků a odpovědí rozhraní API kompatibilních s OpenAI a zapisuje je do souboru CSV. Tyto informace jsou užitečné pro ladění, sledování spotřeby tokenů, monitorování limitů rychlosti a analýzu vzorů využití rozhraní API v průběhu času.

Výstupní soubor

Modul plug-in vytvoří soubor CSV s názvem devproxy_llmusage_<timestamp>.csv v aktuálním adresáři při spuštění dev proxy serveru. Formát časového razítka je yyyyMMddHHmmss.

Struktura souborů CSV

Soubor CSV obsahuje následující sloupce:

Sloupec Description
time Časové razítko požadavku ISO 8601
status Stavový kód HTTP odpovědi
retry-after Hodnota hlavičky retry-after (pro požadavky s omezenými rychlostmi)
policy Hodnota hlavičky policy-id (pro požadavky s omezenými rychlostmi)
prompt tokens Počet tokenů v příkazovém řádku nebo vstupu
completion tokens Počet tokenů v dokončení nebo výstupu
cached tokens Počet tokenů uložených v mezipaměti (z mezipaměti výzvy)
total tokens Celkový počet použitých tokenů (výzva + dokončení)
remaining tokens Zbývající tokeny v okně limitu rychlosti
remaining requests Zbývající požadavky v okně limitu rychlosti

Ukázkový výstup

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

Podporované scénáře

Modul plug-in protokoluje metriky pro:

  • Úspěšné požadavky (stavové kódy 2xx): Zaznamenává metriky využití tokenů, včetně výzev, tokenů dokončení, tokenů uložených v mezipaměti a zbývajících limitů rychlosti.
  • Chybové odpovědi (stavové kódy 4xx): Zachytává informace o omezování rychlosti včetně hlaviček a ID zásad opakování.

Streamující odpovědi

Modul plug-in správně zpracovává odpovědi streamování (pomocí text/event-stream typu obsahu) extrahováním konečného bloku obsahujícího informace o využití.

Případy použití

Tento modul plug-in je užitečný pro:

  • Ladění spotřeby tokenů: Vysvětlení počtu tokenů, které vaše výzvy a dokončení spotřebovávají
  • Monitorování limitů rychlosti: Sledování zbývajících tokenů a požadavků, aby nedošlo k dosažení limitů rychlosti
  • Analýza nákladů: Analýza vzorů využití tokenů za účelem odhadu nákladů
  • Optimalizace výkonu: Identifikace požadavků s vysokým počtem tokenů
  • Analýza ukládání do mezipaměti výzvy: Sledování využití tokenů v mezipaměti za účelem optimalizace strategií ukládání do mezipaměti

Porovnání s OpenAITelemetryPlugin

I když OpenAITelemetryPlugin odesílá telemetrická data do řídicích panelů kompatibilních s OpenTelemetry pro monitorování a vizualizaci v reálném čase, OpenAIUsageDebuggingPlugin se zaměřuje na vytváření podrobných protokolů CSV pro offline analýzu a ladění. Oba moduly plug-in se vzájemně doplňují:

  • Použití OpenAITelemetryPlugin pro monitorování, sledování nákladů a integraci s platformami pozorovatelnosti v reálném čase
  • Použití OpenAIUsageDebuggingPlugin k podrobnému ladění, analýze založenému na csv a sledování informací o limitu rychlosti

Oba moduly plug-in můžete povolit současně, abyste získali telemetrii v reálném čase i podrobné protokoly CSV.

Další krok