Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voor het gebruik van taalmodellen worden kosten in rekening gebracht. Als u wilt weten hoe uw toepassing gebruikmaakt van grote taalmodellen, gebruikt u Dev Proxy om openAI-compatibele aanvragen en antwoorden te onderscheppen. Dev Proxy analyseert de aanvragen en antwoorden en registreert telemetriegegevens om u te helpen begrijpen hoe uw toepassing gebruikmaakt van grote taalmodellen. Met deze informatie kunt u uw toepassing optimaliseren en kosten verlagen.
Dev Proxy registreert taalmodelgebruiksgegevens in OpenTelemetry-indeling. U kunt elk openTelemetry-compatibel dashboard gebruiken om de gegevens te visualiseren. U kunt bijvoorbeeld het .NET Aspire-dashboard of OpenLIT gebruiken. De telemetriegegevens bevatten het aantal tokens dat wordt gebruikt in de aanvraag en reactie, de kosten van de gebruikte tokens en de totale kosten van alle aanvragen gedurende de loop van een sessie.
OpenAI-compatibele aanvragen en antwoorden onderscheppen met behulp van Dev Proxy
Als u openAI-compatibele aanvragen en antwoorden wilt onderscheppen, gebruikt u de OpenAITelemetryPlugin. Deze invoegtoepassing legt telemetriegegevens vast van aanvragen en antwoorden die compatibel zijn met OpenAI en onderschept worden. Vervolgens verzendt het OpenTelemetry-gegevens.
Een Dev Proxy-configuratiebestand maken
Maak een nieuw Dev Proxy-configuratiebestand met behulp van de
devproxy config newopdracht of met de extensie Dev Proxy Toolkit.Voeg het
OpenAITelemetryPlugintoe aan het configuratiebestand.{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json", "plugins": [ { "name": "OpenAITelemetryPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll" } ], "urlsToWatch": [ ], "logLevel": "information", "newVersionNotification": "stable", "showSkipMessages": true }Configureer de
urlsToWatcheigenschap om de URL's op te nemen van de openAI-compatibele aanvragen die u wilt onderscheppen. In het volgende voorbeeld worden aanvragen onderschept voor voltooiingen van Azure OpenAI-chats.{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json", "plugins": [ { "name": "OpenAITelemetryPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/dev-proxy-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 }Sla uw wijzigingen op.
OpenTelemetry Collector en Dev Proxy starten
Belangrijk
Zowel .NET Aspire als OpenLIT hebben Docker nodig om te werken. Als u Docker niet hebt geïnstalleerd, volgt u de instructies in de Docker-documentatie om Docker te installeren.
Start Docker.
Start OpenTelemetry-collector.
Voer de volgende opdracht uit om de .NET Aspire OpenTelemetry-collector en het dashboard te starten:
docker run --rm -it -p 18888:18888 -p 4317:18889 -p 4318:18890 --name aspire-dashboard mcr.microsoft.com/dotnet/aspire-dashboard:latestOpmerking
Wanneer u klaar bent met het .NET Aspire-dashboard, stopt u het dashboard door op Ctrl + C te drukken in de terminal waar u het dashboard hebt gestart. Docker verwijdert automatisch de container wanneer u deze stopt.
Open het .NET Aspire-dashboard in uw browser op
http://localhost:18888/login?t=<code>.
Als u Dev Proxy wilt starten, wijzigt u de werkmap in de map waarin u het dev proxy-configuratiebestand hebt gemaakt en voert u de volgende opdracht uit:
devproxy
Taalmodel gebruiken en telemetriegegevens inspecteren
Doe een verzoek aan het OpenAI-compatibele eindpunt dat u hebt geconfigureerd om Dev Proxy te laten onderscheppen.
Controleer of Dev Proxy de aanvraag en het antwoord heeft onderschept. In de console, waar Dev Proxy wordt uitgevoerd, ziet u vergelijkbare informatie:
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 emittedNavigeer in de webbrowser naar het OpenTelemetry-dashboard.
Kies Traceringen in het zijmenu.
Selecteer een van de sporen met de naam
DevProxy.OpenAI.Selecteer het aanvraagbereik.
Verken in het zijpaneel de gebruiksgegevens van het taalmodel.
Schakel in het zijpaneel over naar Metrische gegevens.
Selecteer DevProxy.OpenAI in de vervolgkeuzelijst Resource.
Selecteer in de lijst met metrische gegevens gen_ai.client.token.usage om een grafiek weer te geven met het aantal tokens dat door uw toepassing wordt gebruikt.
Stop Dev Proxy door op Ctrl + C te drukken in de terminal waarop deze wordt uitgevoerd.
Inzicht in kosten voor taalmodellen
Dev Proxy ondersteunt het schatten van de kosten voor het gebruik van taalmodellen. Als u wilt toestaan dat Dev Proxy kosten inschatten, moet u informatie opgeven over de prijzen voor de modellen die u gebruikt.
Een prijzenbestand maken
Maak in dezelfde map waarin u het configuratiebestand dev proxy hebt gemaakt een nieuw bestand met de naam
prices.json.Voeg de volgende inhoud toe aan het bestand:
{ "$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 } } }Belangrijk
De sleutel is de naam van het taalmodel. De
inputenoutputeigenschappen zijn de prijzen per miljoen tokens voor invoer- en uitvoertokens. Als u een model gebruikt waarvoor geen prijsinformatie beschikbaar is, worden de metrische kostengegevens niet vastgelegd in Dev Proxy.Sla uw wijzigingen op.
Open in de code-editor het configuratiebestand dev proxy.
Breid de
OpenAITelemetryPluginverwijzing uit met een configuratiesectie:{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json", "plugins": [ { "name": "OpenAITelemetryPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/dev-proxy-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 }Voeg de
openAITelemetryPluginsectie toe aan het configuratiebestand:{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json", "plugins": [ { "name": "OpenAITelemetryPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/dev-proxy-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 }U ziet dat de
includeCostseigenschap is ingesteld optrueen depricesFileeigenschap is ingesteld op de naam van het bestand met prijsinformatie.Sla uw wijzigingen op.
Geschatte kosten weergeven
Start Dev Proxy.
Doe een verzoek aan het OpenAI-compatibele eindpunt dat u hebt geconfigureerd om Dev Proxy te laten onderscheppen.
Navigeer in de webbrowser naar het OpenTelemetry-dashboard.
Selecteer metrische gegevens in het zijpaneel.
Selecteer DevProxy.OpenAI in de vervolgkeuzelijst Resource.
Selecteer in de lijst met metrische gegevens gen_ai.client.total_cost om een grafiek weer te geven met de geschatte totale kosten die uw toepassing in rekening brengt voor het gebruik van de taalmodellen.
Stop Dev Proxy door op Ctrl + C te drukken in de terminal waarop deze wordt uitgevoerd.
Stop de OpenTelemetry-collector.
Druk in de terminal waar het .NET Aspire-dashboard wordt uitgevoerd op Ctrl + C om het dashboard te stoppen. Docker verwijdert automatisch de container wanneer u deze stopt.
Volgende stappen
Meer informatie over de OpenAITelemetryPlugin.