Jak používat Dev Proxy ke sledování využití a nákladů jazykového modelu pomocí GitHub Actions

Na první pohled
Cílem: Sledování nákladů na LLM v GitHub Actions
Čas: 20 minut
Pluginy:OpenAITelemetryPlugin
Požadavky:Nastavení dev proxy serveru, úložiště GitHub

Pokud chcete integrovat Dev Proxy do pracovních postupů GitHub Actions, použijte Dev Proxy Actions.

Poznámka:

Tato funkce je aktuálně ve verzi Preview a je dostupná pouze v nejnovější beta verzi Dev Proxy.

Konfigurace dev Proxy pro sledování využití jazykového modelu

Pokud chcete sledovat využití jazykového modelu, nakonfigurujte v projektu konfigurační soubor dev Proxy pomocí OpenAITelemetryPlugin. Pokud chcete vygenerovat sestavu s celkovými náklady a podrobnostmi o využití, zahrňte modul plug-in MarkdownReporter . Do sekce urlsToWatch konfiguračního souboru zahrňte adresu URL rozhraní API kompatibilního s OpenAI, které chcete sledovat.

Soubor: devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAITelemetryPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    },
    {
      "name": "MarkdownReporter",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://*.openai.azure.com/*"
  ]
}

Sledování požadavků na rozhraní API kompatibilní s OpenAI

Pokud chcete sledovat požadavky z libovolného rozhraní API kompatibilního s OpenAI, přidejte adresy URL použité ve vašich požadavcích do urlsToWatch části konfiguračního souboru dev proxy serveru.

Soubor: devproxyrc.json (část urlsToWatch)

{
  "urlsToWatch": [
    "https://*.openai.azure.com/*"
  ]
}

Následující tabulka uvádí několik oblíbených rozhraní API kompatibilních s OpenAI, která můžete sledovat pomocí dev proxy serveru:

Poskytovatel Adresa URL ke sledování Popis
Antropický https://api.anthropic.com/* Modely jazyka Clauda
GitHub https://models.github.com/* Rozhraní API pro modely GitHubu
Společnost Microsoft https://*.openai.azure.com/* Rozhraní API služby Microsoft Azure OpenAI
OpenAI https://api.openai.com/* Jazykové modely GPT
x.ai https://api.x.ai/* Grok jazykové modely

Konfigurace OpenAITelemetryPlugin pro sledování nákladů na využití jazykového modelu

Pokud chcete sledovat náklady na využití jazykového modelu, přidejte konfigurační oddíl pro OpenAITelemetryPlugin. Nastavte vlastnost includeCosts na true pro povolení sledování nákladů. Zadejte cestu k souboru JSON s cenami modelu ve pricesFile vlastnosti.

Soubor: devproxyrc.json (se sledováním nákladů)

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAITelemetryPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "openAITelemetryPlugin"
    },
    {
      "name": "MarkdownReporter",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "openAITelemetryPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/openaitelemetryplugin.schema.json",
    "includeCosts": true,
    "pricesFile": "prices.json"
  },
  "urlsToWatch": [
    "https://*.openai.azure.com/*"
  ]
}

Vytvořte soubor cen se vstupními a výstupními náklady (cena za milion tokenů) pro modely, které používáte. Název modelu v souboru cen se musí shodovat s názvem modelu vráceným v odpovědích rozhraní API, aby se náklady vypočítaly správně.

Soubor: prices.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/openaitelemetryplugin.pricesfile.schema.json",
  "prices": {
    "gpt-4": {
      "input": 0.03,
      "output": 0.06
    }
  }
}

Změna měny použité v nákladech na sestavu využití

Chcete-li změnit měnu používanou pro náklady v přehledu využití, nastavte vlastnost currency v konfiguraci OpenAITelemetryPlugin. Výchozí hodnota je USD.

Soubor: devproxyrc.json (openAITelemetryPlugin sekce)

{
  "openAITelemetryPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/openaitelemetryplugin.schema.json",
    "includeCosts": true,
    "pricesFile": "prices.json",
    "currency": "EUR"
  }
}

Upravit nadpis sestavy využití

Ve výchozím nastavení, k vytvoření záhlaví sestavy je použit formát LLM usage report for <application> in <environment>. Chcete-li změnit název a hodnoty prostředí, nastavte application a environment vlastnosti v konfiguraci OpenAITelemetryPlugin. Výchozí hodnoty jsou default a developmentv uvedeném pořadí.

Soubor: devproxyrc.json (openAITelemetryPlugin sekce)

{
  "openAITelemetryPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/openaitelemetryplugin.schema.json",
    "application": "My application",
    "environment": "Staging"
  }
}

Nastavení dev proxy v pracovním postupu GitHub Actions

K instalaci a spuštění dev Proxy použijte setup akci. Chcete-li začít v režimu záznamu zachytávat požadavky pro OpenAITelemetryPlugin ke zpracování, nastavte auto-record vstup na true. Pokud chcete do souhrnu úlohy pracovního postupu zahrnout sestavu využití, předejte proměnnou $GITHUB_STEP_SUMMARY do vstupu report-job-summary.

Soubor: .github/workflows/your-workflow.yml (krok)

- name: Setup Dev Proxy
  uses: dev-proxy-tools/actions/setup@v1
  with:
    auto-record: true
    report-job-summary: $GITHUB_STEP_SUMMARY
    version: v1.0.0-beta.6

Aktivace požadavků na záznam

Pokud chcete pracovat s vaší aplikací a aktivovat požadavky, které může dev proxy zaznamenávat, použijte kompletní testovací architekturu, jako je Playwright. Akce nastavení automaticky nastaví proměnné prostředí http_proxy a https_proxy, které směrují požadavky prostřednictvím Dev Proxy.

Soubor: .github/workflows/your-workflow.yml (kroky)

- name: Setup Dev Proxy
  uses: dev-proxy-tools/actions/setup@v1
  with:
    auto-record: true
    report-job-summary: $GITHUB_STEP_SUMMARY

- name: Run Playwright tests
  run: npx playwright test

Instalace certifikátu Dev Proxy v prohlížečích Chromium

Pokud používáte prohlížeče založené na Chromiu na spouštěčích Linuxu k vygenerování požadavků pro záznam dev proxy serveru, musíte nainstalovat certifikát dev proxy, abyste se vyhnuli chybám SSL. K instalaci certifikátu použijte chromium-cert akci.

Soubor: .github/workflows/your-workflow.yml (kroky)

- name: Setup Dev Proxy
  uses: dev-proxy-tools/actions/setup@v1
  with:
    auto-record: true
    report-job-summary: $GITHUB_STEP_SUMMARY

- name: Install Dev Proxy certificate for Chromium browsers
  uses: dev-proxy-tools/actions/chromium-cert@v1

- name: Run Playwright tests
  run: npx playwright test

Nahrajte zprávu o využití do artefaktů

Pokud chcete vygenerovat sestavu využití, pomocí akce stop v pracovním postupu ručně zastavte Dev Proxy. Pokud chcete nahrát sestavu využití jako artefakt, použijte akci actions/upload-artifact.

Soubor: .github/workflows/your-workflow.yml (kroky)

- name: Stop recording
  uses: dev-proxy-tools/actions/stop@v1

- name: Upload Dev Proxy reports
  uses: actions/upload-artifact@v4
  with:
    name: Reports
    path: ./*Reporter*

Viz také