Aracılığıyla paylaş


GitHub Actions ile dil modeli kullanımını ve maliyetlerini izlemek için Dev Proxy kullanma

Bir bakışta
Hedef: GitHub Actions'ta LLM maliyetlerini izleme
Süre: 20 dakika
Eklentiler:OpenAITelemetryPlugin
Önkoşullar:Geliştirme Proxy'si, GitHub deposunu ayarlama

Dev Proxy'yi GitHub Actions iş akışlarınızla tümleştirmek için Dev Proxy Actions'ı kullanın.

Uyarı

Bu işlev şu anda önizleme aşamasındadır ve yalnızca Dev Proxy'nin en son beta sürümünde kullanılabilir.

Dil modeli kullanımını izlemek için Geliştirme Proxy'sini yapılandırma

Dil modeli kullanımını izlemek için OpenAITelemetryPlugin ile projenizde bir Dev Proxy yapılandırma dosyası yapılandırın. Toplam maliyetleri ve kullanım ayrıntılarını içeren bir rapor oluşturmak için MarkdownReporter eklentisini ekleyin. İzlemek istediğiniz OpenAI uyumlu API'nin URL'sini yapılandırma dosyasının urlsToWatch bölümüne ekleyin.

Dosya: devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.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/*"
  ]
}

OpenAI uyumlu API'lere yönelik istekleri izleme

OpenAI uyumlu herhangi bir API'den gelen istekleri izlemek için urlsToWatch isteklerinizde kullanılan URL'leri Dev Proxy yapılandırma dosyasının bölümüne ekleyin.

Dosya: devproxyrc.json (urlsToWatch bölümü)

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

Aşağıdaki tabloda, Dev Proxy ile izleyebileceğiniz bazı popüler OpenAI uyumlu API'ler listelenir:

Sağlayıcı İzleyebileceğiniz URL Açıklama
İnsansı https://api.anthropic.com/* Claude dil modelleri
GitHub (İngilizce) https://models.github.com/* GitHub Modelleri API'si
Microsoft https://*.openai.azure.com/* Microsoft Azure OpenAI Hizmeti API'si
OpenAI https://api.openai.com/* GPT dil modelleri
x.ai https://api.x.ai/* Grok dil modelleri

Dil modeli kullanım maliyetlerini izlemek için OpenAITelemetryPlugin'i yapılandırma

Dil modeli kullanım maliyetlerini izlemek için OpenAITelemetryPlugin için bir yapılandırma bölümü ekleyin. includeCosts özelliğini true olarak ayarlayarak maliyet izlemeyi etkinleştirin. Model fiyatlarının bulunduğu bir JSON dosyasının yolunu pricesFile özelliğinde belirtin.

Dosya: devproxyrc.json (maliyet izleme ile)

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.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/v2.2.0/openaitelemetryplugin.schema.json",
    "includeCosts": true,
    "pricesFile": "prices.json"
  },
  "urlsToWatch": [
    "https://*.openai.azure.com/*"
  ]
}

Kullandığınız modeller için giriş ve çıkış maliyetlerini (milyon belirteç başına fiyat) içeren bir fiyat dosyası oluşturun. Fiyatları dosyasındaki model adı, maliyetlerin doğru hesaplanması için API yanıtlarında döndürülen model adıyla eşleşmelidir.

Dosya: prices.json

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

Kullanım raporu maliyetlerinde kullanılan para birimini değiştirme

Kullanım raporu maliyetlerinde kullanılan para birimini değiştirmek için OpenAITelemetryPlugin yapılandırmasında özelliğini ayarlayın currency . Varsayılan değer şudur: USD.

Dosya: devproxyrc.json (openAITelemetryPlugin bölümü)

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

Kullanım raporu başlığını değiştirme

Varsayılan olarak, LLM usage report for <application> in <environment> öğesinin rapor başlığını oluşturmak için kullanılan biçim. Ad ve ortam değerlerini değiştirmek için OpenAITelemetryPlugin yapılandırmasında application ve environment özelliklerini ayarlayın. Varsayılan değerler sırasıyla default ve development şeklindedir.

Dosya: devproxyrc.json (openAITelemetryPlugin bölümü)

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

GitHub Actions iş akışında Geliştirme Proxy'sini ayarlama

Dev Proxy'yi yüklemek ve başlatmak için eylemi kullanın setup . OpenAITelemetryPlugin için istekleri yakalamak amacıyla kayıt modunda başlamak için auto-record girdisini true olarak ayarlayın. İş akışı işi özetine kullanım raporunu eklemek için $GITHUB_STEP_SUMMARY değişkenini report-job-summary girişine aktarın.

Dosya: .github/workflows/your-workflow.yml (adım)

- 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

Kayıt isteklerini tetikleme

Uygulamanızla etkileşime geçmek ve Dev Proxy'nin kaydedebileceği istekleri tetikleme amacıyla Playwright gibi uçtan uca bir test çerçevesi kullanın. Kurulum işlemi, istekleri Dev Proxy aracılığıyla yönlendiren http_proxy ve https_proxy ortam değişkenlerini otomatik olarak ayarlar.

Dosya: .github/workflows/your-workflow.yml (adımlar)

- 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

Chromium tarayıcılarına Dev Proxy sertifikası yükleme

Linux çalıştırıcılarında Chromium tabanlı tarayıcılar kullanarak Dev Proxy'nin kaydetmesi için istekler oluşturuyorsanız, SSL hatalarından kaçınmak için Dev Proxy sertifikasını yüklemeniz gerekir. Sertifikayı yüklemek için eylemini kullanın chromium-cert .

Dosya: .github/workflows/your-workflow.yml (adımlar)

- 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

Kullanım raporunu yapıtlara yükleme

Kullanım raporunu oluşturmak için stop eylemini kullanarak iş akışınızda Dev Proxy'i el ile durdurun. Kullanım raporunu bir nesne olarak karşıya yüklemek için actions/upload-artifact eylemini kullanın.

Dosya: .github/workflows/your-workflow.yml (adımlar)

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

Ayrıca bakınız