Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sekilas
Tujuan: Melacak biaya LLM di GitHub Actions
Waktu: 20 menit
Plugins:OpenAITelemetryPlugin
Prasyarat:Menyiapkan Proksi Dev, repositori GitHub
Untuk mengintegrasikan Dev Proxy ke dalam alur kerja GitHub Actions Anda, gunakan Dev Proxy Actions.
Nota
Fungsionalitas ini saat ini dalam pratinjau dan hanya tersedia dalam versi beta terbaru dari Dev Proxy.
Mengonfigurasi Dev Proxy untuk melacak penggunaan model bahasa
Untuk melacak penggunaan model bahasa, konfigurasikan file konfigurasi Dev Proxy di proyek Anda dengan OpenAITelemetryPlugin. Untuk menghasilkan laporan dengan total biaya dan detail penggunaan, sertakan plugin MarkdownReporter . Sertakan URL API yang kompatibel dengan OpenAI yang ingin Anda lacak di bagian urlsToWatch file konfigurasi.
File: 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/*"
]
}
Melacak permintaan ke API yang kompatibel dengan OpenAI
Untuk melacak permintaan dari API yang kompatibel dengan OpenAI, tambahkan URL yang digunakan dalam permintaan Anda ke bagian urlsToWatch pada file konfigurasi Dev Proxy.
File: devproxyrc.json (bagian urlsToWatch)
{
"urlsToWatch": [
"https://*.openai.azure.com/*"
]
}
Tabel berikut ini mencantumkan beberapa API populer yang kompatibel dengan OpenAI yang dapat Anda lacak dengan Dev Proxy:
| Penyedia | URL untuk ditonton | Deskripsi |
|---|---|---|
| Antropik | https://api.anthropic.com/* |
Model-model bahasa Claude |
| GitHub | https://models.github.com/* |
API Model GitHub |
| Microsoft | https://*.openai.azure.com/* |
Microsoft Azure OpenAI Service API |
| OpenAI | https://api.openai.com/* |
Model bahasa GPT |
| x.ai | https://api.x.ai/* |
Model Bahasa Grok |
Mengonfigurasi OpenAITelemetryPlugin untuk melacak biaya penggunaan model bahasa
Untuk melacak biaya penggunaan model bahasa, tambahkan bagian konfigurasi untuk OpenAITelemetryPlugin. Atur includeCosts properti ke true untuk mengaktifkan pelacakan biaya. Tentukan jalur ke file JSON dengan harga model pada properti pricesFile.
File: devproxyrc.json (dengan pemantauan biaya)
{
"$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/*"
]
}
Buat file harga dengan biaya input dan output (harga per juta token), untuk model yang Anda gunakan. Nama model dalam file harga harus cocok dengan nama model yang dikembalikan dalam respons API agar biaya dihitung dengan benar.
File: 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
}
}
}
Mengubah mata uang yang digunakan dalam biaya laporan penggunaan
Untuk mengubah mata uang yang digunakan dalam biaya laporan penggunaan, atur currency properti dalam konfigurasi OpenAITelemetryPlugin. Nilai defaultnya adalah USD.
File: devproxyrc.json (bagian openAITelemetryPlugin)
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.0/openaitelemetryplugin.schema.json",
"includeCosts": true,
"pricesFile": "prices.json",
"currency": "EUR"
}
}
Mengubah judul laporan penggunaan
Secara default, format yang digunakan untuk membuat judul laporan .LLM usage report for <application> in <environment> Untuk mengubah nama dan nilai lingkungan, tetapkan properti application dan environment dalam konfigurasi OpenAITelemetryPlugin. Nilai defaultnya adalah default dan development, masing-masing.
File: devproxyrc.json (bagian openAITelemetryPlugin)
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.0/openaitelemetryplugin.schema.json",
"application": "My application",
"environment": "Staging"
}
}
Menyiapkan Proksi Dev di alur kerja GitHub Actions
Untuk menginstal dan memulai Dev Proxy, gunakan setup perintah. Untuk memulai dalam mode rekaman untuk merekam dan memproses permintaan dari OpenAITelemetryPlugin, atur auto-record input ke true. Untuk menyertakan laporan penggunaan dalam ringkasan pekerjaan alur kerja, teruskan $GITHUB_STEP_SUMMARY variabel ke report-job-summary input.
File: .github/workflows/your-workflow.yml (langkah)
- 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
Memicu permintaan untuk merekam
Untuk berinteraksi dengan aplikasi Anda dan memicu permintaan yang dapat direkam Oleh Dev Proxy, gunakan kerangka kerja pengujian end-to-end seperti Playwright. Tindakan penyiapan secara otomatis mengatur variabel lingkungan http_proxy dan https_proxy, yang merutekan permintaan melalui Dev Proxy.
File: .github/workflows/your-workflow.yml (langkah-langkah)
- 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
Menginstal sertifikat Proksi Dev di browser Chromium
Jika Anda menggunakan browser berbasis Chromium pada runner Linux untuk menghasilkan permintaan yang akan direkam oleh Proxy Dev, Anda perlu menginstal sertifikat Proxy Dev untuk menghindari kesalahan SSL. Untuk menginstal sertifikat, gunakan chromium-cert tindakan .
File: .github/workflows/your-workflow.yml (langkah-langkah)
- 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
Mengunggah laporan penggunaan ke artefak
Untuk menghasilkan laporan penggunaan, gunakan stop tindakan untuk menghentikan Proksi Dev secara manual di alur kerja Anda. Untuk mengunggah laporan penggunaan sebagai artefak, gunakan tindakan actions/upload-artifact.
File: .github/workflows/your-workflow.yml (langkah-langkah)
- 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*