Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na pierwszy rzut oka
Celem: Śledzenie kosztów usługi LLM w funkcji GitHub Actions
Czas: 20 minut
Plugins:OpenAITelemetryPlugin
Wymagania wstępne:konfigurowanie serwera proxy dev, repozytorium GitHub
Aby zintegrować usługę Dev Proxy z przepływami pracy funkcji GitHub Actions, użyj funkcji Dev Proxy Actions.
Uwaga / Notatka
Ta funkcja jest obecnie dostępna w wersji zapoznawczej i jest dostępna tylko w najnowszej wersji beta serwera proxy deweloperskiego.
Konfigurowanie proxy deweloperskiego do śledzenia użycia modelu językowego
Aby śledzić użycie modelu językowego, skonfiguruj plik konfiguracji serwera proxy dev w projekcie za pomocą biblioteki OpenAITelemetryPlugin. Aby wygenerować raport ze szczegółami łącznych kosztów i użycia, dołącz wtyczkę MarkdownReporter . Dołącz adres URL API zgodnego z OpenAI, który chcesz śledzić, w sekcji urlsToWatch pliku konfiguracji.
Plik: devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.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/*"
]
}
Śledzenie żądań do interfejsów API zgodnych z platformą OpenAI
Aby śledzić żądania z dowolnego interfejsu API zgodnego z interfejsem OpenAI, dodaj adresy URL używane w żądaniach do urlsToWatch sekcji pliku konfiguracji serwera proxy dev.
Plik: devproxyrc.json (sekcja urlsToWatch)
{
"urlsToWatch": [
"https://*.openai.azure.com/*"
]
}
W poniższej tabeli wymieniono niektóre popularne interfejsy API zgodne z protokołem OpenAI, które można śledzić za pomocą serwera proxy deweloperskiego:
| Dostawca | Adres URL do obejrzenia | Opis |
|---|---|---|
| Antropiczny | https://api.anthropic.com/* |
Modele językowe Claude'a |
| GitHub | https://models.github.com/* |
Interfejs API modeli usługi GitHub |
| Microsoft | https://*.openai.azure.com/* |
Interfejs API usługi Microsoft Azure OpenAI |
| OpenAI | https://api.openai.com/* |
Modele języka GPT |
| x.ai | https://api.x.ai/* |
Modele językowe Grok |
Skonfiguruj bibliotekę OpenAITelemetryPlugin, aby śledzić koszty użycia modelu językowego
Aby śledzić koszty użycia modelu językowego, dodaj sekcję konfiguracji dla pliku OpenAITelemetryPlugin. Ustaw właściwość includeCosts na true, aby włączyć śledzenie kosztów. Określ ścieżkę do pliku JSON z cenami modelu we właściwości pricesFile.
Plik: devproxyrc.json (z śledzeniem kosztów)
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.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.0.0/openaitelemetryplugin.schema.json",
"includeCosts": true,
"pricesFile": "prices.json"
},
"urlsToWatch": [
"https://*.openai.azure.com/*"
]
}
Utwórz plik cen z kosztami wejściowymi i wyjściowymi (cena za milion tokenów) dla używanych modeli. Nazwa modelu w pliku cen musi być zgodna z nazwą modelu zwróconą w odpowiedziach interfejsu API, aby koszty zostały obliczone poprawnie.
Plik: prices.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/openaitelemetryplugin.pricesfile.schema.json",
"prices": {
"gpt-4": {
"input": 0.03,
"output": 0.06
}
}
}
Zmienianie waluty używanej w kosztach raportu użycia
Aby zmienić walutę, której używa się do określania kosztów w raporcie użycia, ustaw właściwość currency w konfiguracji OpenAITelemetryPlugin. Wartość domyślna to USD.
Plik: devproxyrc.json (sekcja openAITelemetryPlugin)
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/openaitelemetryplugin.schema.json",
"includeCosts": true,
"pricesFile": "prices.json",
"currency": "EUR"
}
}
Zmienianie nagłówka raportu użycia
Domyślnie format używany do tworzenia nagłówka raportu .LLM usage report for <application> in <environment> Aby zmienić nazwę i wartości środowiska, ustaw właściwości application i environment w konfiguracji OpenAITelemetryPlugin. Wartości domyślne to default i development, odpowiednio.
Plik: devproxyrc.json (sekcja openAITelemetryPlugin)
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/openaitelemetryplugin.schema.json",
"application": "My application",
"environment": "Staging"
}
}
Konfiguracja proxy dla deweloperów w przepływie pracy GitHub Actions
Aby zainstalować i uruchomić Dev Proxy, użyj akcji setup. Aby rozpocząć w trybie nagrywania, aby przechwytywać żądania do przetworzenia przez wtyczkę OpenAITelemetryPlugin, ustaw auto-record dane wejściowe na true. Aby uwzględnić raport użycia w podsumowaniu zadania przepływu pracy, przekaż zmienną $GITHUB_STEP_SUMMARY do wejścia report-job-summary.
Plik: .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
Wyzwalanie żądań rejestrowania
Aby wchodzić w interakcje z aplikacją i wyzwalać żądania, które może rejestrować serwer proxy deweloperów, użyj kompleksowej platformy testowania, takiej jak Playwright. Akcja konfiguracji automatycznie ustawia zmienne środowiskowe http_proxy i https_proxy, które kierują żądania za pośrednictwem Dev Proxy.
Plik: .github/workflows/your-workflow.yml (kroki)
- 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
Instalacja certyfikatu Dev Proxy w przeglądarkach Chromium
Jeśli używasz przeglądarek opartych na Chromium w środowiskach Linux do generowania żądań dla Dev Proxy do rejestrowania, musisz zainstalować certyfikat Dev Proxy, aby uniknąć błędów SSL. Aby zainstalować certyfikat, użyj chromium-cert akcji .
Plik: .github/workflows/your-workflow.yml (kroki)
- 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
Przesłać raport użycia do artefaktów
Aby wygenerować raport użycia, użyj stop akcji, aby ręcznie zatrzymać Dev Proxy w przepływie pracy. Aby przekazać raport użycia jako artefakt, użyj czynności actions/upload-artifact.
Plik: .github/workflows/your-workflow.yml (kroki)
- 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*