Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На первый взгляд
Цель: Отслеживание затрат LLM в GitHub Actions
Время: 20 минут
Подключаемые модули:OpenAITelemetryPlugin
Необходимые условия:настройка прокси-сервера разработки, репозитория GitHub
Чтобы интегрировать Dev Proxy в рабочие процессы GitHub Actions, используйте Dev Proxy Actions.
Замечание
Эта функция в настоящее время находится в предварительной версии и доступна только в последней бета-версии Dev Proxy.
Настройка прокси-сервера разработки для отслеживания использования языковой модели
Чтобы отслеживать использование языковой модели, настройте файл конфигурации прокси разработки в проекте с OpenAITelemetryPlugin. Чтобы создать отчет с общими затратами и сведениями об использовании, включите подключаемый модуль MarkdownReporter . Добавьте URL-адрес совместимого API OpenAI, который требуется отслеживать в urlsToWatch разделе файла конфигурации.
Файл: devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.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/*"
]
}
Отслеживание запросов к совместимым API OpenAI
Чтобы отслеживать запросы из любого совместимого API OpenAI, добавьте URL-адреса, используемые в запросах, в urlsToWatch раздел файла конфигурации прокси-сервера разработки.
Файл: devproxyrc.json (раздел urlsToWatch)
{
"urlsToWatch": [
"https://*.openai.azure.com/*"
]
}
В следующей таблице перечислены некоторые популярные API, совместимые с OpenAI, которые можно отслеживать с помощью Прокси разработки:
| Поставщик | URL-адрес для просмотра | Описание |
|---|---|---|
| Антропик | https://api.anthropic.com/* |
Языковые модели Claude |
| GitHub | https://models.github.com/* |
API моделей GitHub |
| Корпорация Майкрософт | https://*.openai.azure.com/* |
API службы OpenAI в Microsoft Azure |
| Открытый ИИ | https://api.openai.com/* |
Языковые модели GPT |
| x.ai | https://api.x.ai/* |
Языковые модели Grok |
Настройка OpenAITelemetryPlugin для отслеживания затрат на использование языковой модели
Чтобы отслеживать затраты на использование языковой модели, добавьте раздел конфигурации для OpenAITelemetryPlugin. Установите свойство includeCosts в true для включения отслеживания затрат. Укажите путь к JSON-файлу с ценами на модель в свойстве pricesFile .
Файл: devproxyrc.json (с отслеживанием затрат)
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.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.3.0/openaitelemetryplugin.schema.json",
"includeCosts": true,
"pricesFile": "prices.json"
},
"urlsToWatch": [
"https://*.openai.azure.com/*"
]
}
Создайте файл цен с затратами на входные и выходные данные (цена за миллион токенов) для используемых моделей. Имя модели в файле цен должно соответствовать имени модели, возвращаемой в ответах API для правильной вычисления затрат.
Файл: prices.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/openaitelemetryplugin.pricesfile.schema.json",
"prices": {
"gpt-4": {
"input": 0.03,
"output": 0.06
}
}
}
Изменение валюты, используемой в отчетах об использовании
Чтобы изменить валюту, используемую для оценки затрат в отчете об использовании, задайте свойство currency в конфигурации OpenAITelemetryPlugin. Значение по умолчанию — USD.
Файл: devproxyrc.json (раздел openAITelemetryPlugin)
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/openaitelemetryplugin.schema.json",
"includeCosts": true,
"pricesFile": "prices.json",
"currency": "EUR"
}
}
Изменение заголовка отчета об использовании
По умолчанию формат, используемый для создания заголовка LLM usage report for <application> in <environment>отчета. Чтобы изменить значения имени и среды, задайте свойства application и environment в конфигурации OpenAITelemetryPlugin. Значения по умолчанию — default и developmentсоответственно.
Файл: devproxyrc.json (раздел openAITelemetryPlugin)
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/openaitelemetryplugin.schema.json",
"application": "My application",
"environment": "Staging"
}
}
Настройка прокси-сервера разработки в рабочем процессе GitHub Actions
Чтобы установить и запустить Dev Proxy, используйте действие setup. Чтобы начать запись запросов для обработки OpenAITelemetryPlugin в режиме записи, установите auto-record значение входных данных на true. Чтобы включить отчет об использовании в сводку задания рабочего процесса, передайте переменную $GITHUB_STEP_SUMMARY в входные report-job-summary данные.
Файл: .github/workflows/your-workflow.yml (шаг)
- 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
Активация запросов на запись
Чтобы взаимодействовать с приложением и активировать запросы, которые может записывать прокси-сервер разработки, используйте сквозную платформу тестирования, например Playwright. Действие установки автоматически задает переменные среды http_proxy и https_proxy, которые направляют запросы через Dev Proxy.
Файл: .github/workflows/your-workflow.yml (шаги)
- 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
Установка сертификата прокси-сервера dev в браузерах Chromium
Если вы используете браузеры на движке Chromium на исполнителях Linux для создания запросов, которые прокси-сервер разработки должен записать, необходимо установить сертификат прокси-сервера разработки, чтобы избежать ошибок SSL. Чтобы установить сертификат, используйте chromium-cert действие.
Файл: .github/workflows/your-workflow.yml (шаги)
- 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
Загрузите отчет об использовании в артефакты.
Чтобы создать отчет об использовании, используйте действие stop для ручной остановки Dev Proxy в рамках рабочего процесса. Чтобы отправить отчет об использовании в качестве артефакта, выполните действие actions/upload-artifact.
Файл: .github/workflows/your-workflow.yml (шаги)
- 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*