Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
De un vistazo
Objetivo: Seguimiento de los costos de LLM en Acciones de GitHub
Tiempo: 20 minutos
Plugins:OpenAITelemetryPlugin
Requisitos previos:Configuración del proxy de desarrollo, repositorio de GitHub
Para integrar Dev Proxy en los flujos de trabajo de GitHub Actions, use Dev Proxy Actions.
Nota:
Esta funcionalidad está actualmente en versión preliminar y solo está disponible en la versión beta más reciente del proxy de desarrollo.
Configuración del proxy de desarrollo para el seguimiento del uso del modelo de lenguaje
Para realizar un seguimiento del uso del modelo de lenguaje, configure un archivo de configuración de Proxy de desarrollo en el proyecto con OpenAITelemetryPlugin. Para generar un informe con los costos totales y los detalles de uso, incluya el complemento MarkdownReporter . Incluya la dirección URL de la API compatible con OpenAI que desea rastrear en la sección urlsToWatch del archivo de configuración.
Archivo: 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/*"
]
}
Seguimiento de solicitudes a api compatibles con OpenAI
Para realizar un seguimiento de las solicitudes desde cualquier API compatible con OpenAI, agregue las direcciones URL que se usan en las solicitudes a la urlsToWatch sección del archivo de configuración del proxy de desarrollo.
Archivo: devproxyrc.json (sección urlsToWatch)
{
"urlsToWatch": [
"https://*.openai.azure.com/*"
]
}
En la tabla siguiente se enumeran algunas conocidas API compatibles con OpenAI que puede seguir con Dev Proxy.
| Proveedor | URL para ver | Descripción |
|---|---|---|
| Anthropic | https://api.anthropic.com/* |
Modelos de lenguaje Claude |
| GitHub (en inglés) | https://models.github.com/* |
API de modelos de GitHub |
| Microsoft | https://*.openai.azure.com/* |
API del servicio OpenAI de Microsoft Azure |
| OpenAI | https://api.openai.com/* |
Modelos de lenguaje GPT |
| x.ai | https://api.x.ai/* |
Modelos de lenguaje Grok |
Configuración de OpenAITelemetryPlugin para realizar un seguimiento de los costos de uso del modelo de lenguaje
Para realizar un seguimiento de los costos de uso del modelo de lenguaje, agregue una sección de configuración para OpenAITelemetryPlugin. Establezca la propiedad includeCosts en true para habilitar el seguimiento de costos. Especifique la ruta de acceso a un archivo JSON con los precios del modelo en la pricesFile propiedad .
Archivo: devproxyrc.json (con seguimiento de costos)
{
"$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/*"
]
}
Cree un archivo de precios con los costos de entrada y salida (precio por millón de tokens) para los modelos que use. El nombre del modelo en el archivo de precios debe coincidir con el nombre del modelo devuelto en las respuestas de api para que los costos se calculen correctamente.
Archivo: 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
}
}
}
Cambio de la moneda usada en los costos del informe de uso
Para cambiar la moneda utilizada en los costes del informe de uso, establezca la propiedad currency en la configuración OpenAITelemetryPlugin. El valor predeterminado es USD.
Archivo: devproxyrc.json (sección 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"
}
}
Cambiar el encabezado de informe de uso
De forma predeterminada, el formato usado para crear el encabezado del informe de LLM usage report for <application> in <environment>. Para cambiar el nombre y los valores de entorno, establezca las propiedades application y environment en la configuración de OpenAITelemetryPlugin. Los valores predeterminados son default y development, respectivamente.
Archivo: devproxyrc.json (sección openAITelemetryPlugin)
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/openaitelemetryplugin.schema.json",
"application": "My application",
"environment": "Staging"
}
}
Configurar el proxy de desarrollo en el flujo de trabajo de acciones de GitHub
Para instalar e iniciar el proxy de desarrollo, use la acción setup. Para iniciar en modo grabación y capturar las solicitudes para que las procese OpenAITelemetryPlugin, establezca la entrada de auto-record a true. Para incluir el informe de uso en el resumen del trabajo, pase la variable $GITHUB_STEP_SUMMARY a la entrada report-job-summary.
Archivo: .github/workflows/your-workflow.yml (paso)
- 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
Activar peticiones para grabar
Para interactuar con la aplicación y desencadenar las solicitudes que el proxy de desarrollo puede registrar, use un marco de pruebas de extremo a extremo como Playwright. La acción de instalación establece automáticamente las variables de entorno http_proxy y https_proxy, que enrutan las solicitudes a través de Dev Proxy.
Archivo: .github/workflows/your-workflow.yml (pasos)
- 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
Instalar certificado de proxy de desarrollo en navegadores Chromium
Si usa navegadores basados en Chromium en ejecutores de Linux para generar solicitudes para que el proxy de desarrollo las registre, debe instalar el certificado del proxy de desarrollo para evitar errores de SSL. Para instalar el certificado, use la chromium-cert acción .
Archivo: .github/workflows/your-workflow.yml (pasos)
- 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
Cargar el informe de uso en artefactos
Para generar el informe de uso, use la acción stop para detener manualmente el proxy de desarrollo en su flujo de trabajo. Para cargar el informe de uso como un artefacto, use la acción actions/upload-artifact.
Archivo: .github/workflows/your-workflow.yml (pasos)
- 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*