Megosztás:


A nyelvi modell használatának ismertetése

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

  1. Hozzon létre egy új Dev Proxy konfigurációs fájlt a devproxy config new parancs vagy a Dev Proxy Toolkit bővítmény használatával.

  2. Adja hozzá a OpenAITelemetryPlugin 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"
        }
      ],
      "urlsToWatch": [
      ],
      "logLevel": "information",
      "newVersionNotification": "stable",
      "showSkipMessages": true
    }
    
  3. Konfigurálja úgy a urlsToWatch tulajdonsá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
    }
    
  4. 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.

  1. Indítsd el a Dockert.

  2. Indítsa el az OpenTelemetry-gyűjtőt.

    1. 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:latest
      

      Megjegyzé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.

    2. 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>: .

  3. 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

  1. Küldjön egy kérést az OpenAI-kompatibilis végpontra, amelyet úgy konfigurált, hogy a Dev Proxyt elfogja.

  2. 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 emitted
    
  3. A webböngészőben keresse meg az OpenTelemetry irányítópultot.

    1. Az oldalsó menüben válassza a Nyomkövetések lehetőséget.

    2. Válasszon ki egyet a megnevezett DevProxy.OpenAI nyomkövetések közül.

    3. Válassza ki a kérelem időtartamát.

    4. Az oldalpanelen ismerkedjen meg a nyelvi modell használati adataival.

      Képernyőkép a .NET Aspire irányítópultról, amelyen az OpenAI telemetriai adatai láthatók egy sávban.

    5. Az oldalpanelen váltson a Metrikák elemre.

    6. Az Erőforrás legördülő listában válassza a DevProxy.OpenAI lehetőséget.

    7. 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.

      Képernyőkép a .NET Aspire irányítópultról, amelyen a tokenhasználat diagramja látható.

  4. Á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

  1. Ugyanabban a mappában, ahol létrehozta a Dev Proxy konfigurációs fájlját, hozzon létre egy új fájlt.prices.json

  2. Adja 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 input tulajdonságok a bemeneti és output kimeneti 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.

  3. Mentse a módosításokat.

  4. A kódszerkesztőben nyissa meg a Dev Proxy konfigurációs fájlját.

  5. OpenAITelemetryPlugin A 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
    }
    
  6. Adja hozzá a openAITelemetryPlugin szakaszt 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 includeCosts tulajdonság értékét true-re, míg a pricesFile tulajdonságot az árak információit tartalmazó fájl nevére állította.

  7. Mentse a módosításokat.

Becsült költségek megtekintése

  1. Indítsa el a fejlesztői proxyt.

  2. Küldjön egy kérést az OpenAI-kompatibilis végpontra, amelyet úgy konfigurált, hogy a Dev Proxyt elfogja.

  3. A webböngészőben keresse meg az OpenTelemetry irányítópultot.

    1. Az oldalpanelen válassza a Metrikák lehetőséget.

    2. Az Erőforrás legördülő listában válassza a DevProxy.OpenAI lehetőséget.

    3. 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.

      Képernyőkép a .NET Aspire irányítópultról, amelyen a token becsült költségének diagramja látható.

  4. Állítsa le a dev proxyt a CtrlC + lenyomásával azon a terminálon, amelyen fut.

  5. Á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.