Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A nyelvi modellek használata költségekkel jár. Annak megértéséhez, hogy az alkalmazás hogyan használ nagy nyelvi modelleket, használja a Dev Proxyt az OpenAI-kompatibilis kérések és válaszok elfogásához. A Dev Proxy elemzi a kéréseket és válaszokat, valamint naplózza a telemetriai adatokat, így könnyebben megértheti, hogyan használja az alkalmazás a nagy nyelvi modelleket. Ez az információ lehetővé teszi az alkalmazás optimalizálását és a költségek csökkentését.
A fejlesztői proxy OpenTelemetry formátumban naplózza a nyelvi modell használati adatait. Bármely OpenTelemetry-kompatibilis irányítópulttal megjelenítheti az adatokat. Használhatja például a .NET Aspire irányítópultot vagy az OpenLIT-et. A telemetriai adatok tartalmazzák a kérésben és válaszban használt jogkivonatok számát, a használt jogkivonatok költségét, valamint a munkamenet során a kérelmek teljes költségét.
OpenAI-kompatibilis kérések és válaszok elfogása Dev Proxy használatával
Az OpenAI-kompatibilis kérelmek és válaszok elfogásához használja az OpenAITelemetryPlugin parancsot. Ez a beépülő modul az OpenAI-kompatibilis kérelmekből és válaszokból származó telemetria-adatait naplózza, amelyeket elfog és kibocsát OpenTelemetry-adatként.
Fejlesztői proxy konfigurációs fájljának létrehozása
Hozzon létre egy új Dev Proxy konfigurációs fájlt a
devproxy config newparancs vagy a Dev Proxy Toolkit bővítmény használatával.Adja hozzá a
OpenAITelemetryPluginkonfigurációs fájlhoz.{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json", "plugins": [ { "name": "OpenAITelemetryPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll" } ], "urlsToWatch": [ ], "logLevel": "information", "newVersionNotification": "stable", "showSkipMessages": true }Konfigurálja úgy a
urlsToWatchtulajdonságot, hogy tartalmazza a lehallgatni kívánt OpenAI-kompatibilis kérések URL-címét. Az alábbi példa elfogja az Azure OpenAI-csevegés befejezésére irányuló kérelmeket.{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json", "plugins": [ { "name": "OpenAITelemetryPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll" } ], "urlsToWatch": [ "https://*.openai.azure.com/openai/deployments/*/chat/completions*", "https://*.cognitiveservices.azure.com/openai/deployments/*/chat/completions*" ], "logLevel": "information", "newVersionNotification": "stable", "showSkipMessages": true }Mentse a módosításokat.
OpenTelemetry-gyűjtő és fejlesztői proxy indítása
Fontos
A .NET Aspire és az OpenLIT egyaránt megköveteli a Docker futtatását. Ha nincs telepítve a Docker, a Docker telepítéséhez kövesse a Docker dokumentációjában található utasításokat.
Indítsd el a Dockert.
Indítsa el az OpenTelemetry-gyűjtőt.
Futtassa a következő parancsot a .NET Aspire OpenTelemetry-gyűjtő és -irányítópult elindításához:
docker run --rm -it -p 18888:18888 -p 4317:18889 -p 4318:18890 --name aspire-dashboard mcr.microsoft.com/dotnet/aspire-dashboard:latestMegjegyzés:
Ha befejezte a .NET Aspire irányítópult használatát, állítsa le az irányítópultot a CtrlC + lenyomásával azon a terminálon, ahol elindította az irányítópultot. A Docker automatikusan eltávolítja a tárolót, amikor leállítja.
Nyissa meg a .NET Aspire irányítópultot a böngészőben a következő címen
http://localhost:18888/login?t=<code>: .
A Dev Proxy elindításához módosítsa a munkakönyvtárat arra a mappára, amelyben létrehozta a Dev Proxy konfigurációs fájlját, és futtassa a következő parancsot:
devproxy
Nyelvi modell használata és telemetriaadatok vizsgálata
Küldjön egy kérést az OpenAI-kompatibilis végpontra, amelyet úgy konfigurált, hogy a Dev Proxyt elfogja.
Ellenőrizze, hogy a Dev Proxy elfogta-e a kérést és a választ. A konzolon, ahol a Dev Proxy fut, hasonló információkat kell látnia:
info Dev Proxy API listening on http://127.0.0.1:8897... info Dev Proxy listening on 127.0.0.1:8000... Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen Press CTRL+C to stop Dev Proxy req ╭ POST https://some-resource.cognitiveservices.azure.com/openai/deployments/some-deployment/chat/completions?api-version=2025-01-01-preview time │ 19/05/2025 07:53:38 +00:00 pass │ Passed through proc ╰ OpenAITelemetryPlugin: OpenTelemetry information emittedA webböngészőben keresse meg az OpenTelemetry irányítópultot.
Az oldalsó menüben válassza a Nyomkövetések lehetőséget.
Válasszon ki egyet a megnevezett
DevProxy.OpenAInyomkövetések közül.Válassza ki a kérelem időtartamát.
Az oldalpanelen ismerkedjen meg a nyelvi modell használati adataival.
Az oldalpanelen váltson a Metrikák elemre.
Az Erőforrás legördülő listában válassza a DevProxy.OpenAI lehetőséget.
A metrikák listájában válassza a gen_ai.client.token.usage elemet, hogy megtekintse a diagramot, amely megjeleníti az alkalmazás által használt tokenek számát.
Állítsa le a dev proxyt a CtrlC + lenyomásával azon a terminálon, amelyen fut.
A nyelvi modell költségeinek ismertetése
A Dev Proxy támogatja a nyelvi modellek használatának költségeinek becslését. Ahhoz, hogy a Dev Proxy megbecsülhesse a költségeket, meg kell adnia a használt modellek áraival kapcsolatos információkat.
Árfájl létrehozása
Ugyanabban a mappában, ahol létrehozta a Dev Proxy konfigurációs fájlját, hozzon létre egy új fájlt.
prices.jsonAdja hozzá a következő tartalmat a fájlhoz:
{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/openaitelemetryplugin.pricesfile.schema.json", "prices": { "o4-mini": { "input": 0.97, "output": 3.87 } } }Fontos
A kulcs a nyelvi modell neve. A
inputtulajdonságok a bemeneti ésoutputkimeneti jogkivonatok millió jogkivonatonkénti árai. Ha olyan modellt használ, amelyhez nincsenek árinformációk, a Dev Proxy nem naplózza a költségmetrikákat.Mentse a módosításokat.
A kódszerkesztőben nyissa meg a Dev Proxy konfigurációs fájlját.
OpenAITelemetryPluginA hivatkozás kiterjesztése egy konfigurációs szakaszsal:{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json", "plugins": [ { "name": "OpenAITelemetryPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll", "configSection": "openAITelemetryPlugin" } ], "urlsToWatch": [ "https://*.openai.azure.com/openai/deployments/*/chat/completions*", "https://*.cognitiveservices.azure.com/openai/deployments/*/chat/completions*" ], "logLevel": "information", "newVersionNotification": "stable", "showSkipMessages": true }Adja hozzá a
openAITelemetryPluginszakaszt a konfigurációs fájlhoz:{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json", "plugins": [ { "name": "OpenAITelemetryPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll", "configSection": "openAITelemetryPlugin" } ], "urlsToWatch": [ "https://*.openai.azure.com/openai/deployments/*/chat/completions*", "https://*.cognitiveservices.azure.com/openai/deployments/*/chat/completions*" ], "openAITelemetryPlugin": { "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/openaitelemetryplugin.schema.json", "includeCosts": true, "pricesFile": "prices.json" }, "logLevel": "information", "newVersionNotification": "stable", "showSkipMessages": true }A
includeCoststulajdonság értékéttrue-re, míg apricesFiletulajdonságot az árak információit tartalmazó fájl nevére állította.Mentse a módosításokat.
Becsült költségek megtekintése
Indítsa el a fejlesztői proxyt.
Küldjön egy kérést az OpenAI-kompatibilis végpontra, amelyet úgy konfigurált, hogy a Dev Proxyt elfogja.
A webböngészőben keresse meg az OpenTelemetry irányítópultot.
Az oldalpanelen válassza a Metrikák lehetőséget.
Az Erőforrás legördülő listában válassza a DevProxy.OpenAI lehetőséget.
A metrikák listájában válassza a gen_ai.client.total_cost elemet egy diagram megjelenítéséhez, amely az alkalmazás által a nyelvi modellek használatához felmerülő becsült teljes költséget mutatja.
Állítsa le a dev proxyt a CtrlC + lenyomásával azon a terminálon, amelyen fut.
Állítsa le az OpenTelemetry-gyűjtőt.
A .NET Aspire irányítópultot futtató terminálban nyomja le a CtrlC + az irányítópult leállításához. A Docker automatikusan eltávolítja a tárolót, amikor leállítja.
Következő lépések
További információ az OpenAITelemetryPluginről.