Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
De relance
Objetivo: Acompanhar os custos dos LLMs no GitHub Actions
Tempo: 20 minutos
Plugins:OpenAITelemetryPlugin
Pré-requisitos:Configurar Dev Proxy, repositório GitHub
Para integrar o Dev Proxy nos seus fluxos de trabalho do GitHub Actions, use Dev Proxy Actions.
Observação
Esta funcionalidade está atualmente em pré-visualização e apenas disponível na versão beta mais recente do Dev Proxy.
Configurar o Dev Proxy para controlar o uso do modelo de idioma
Para controlar o uso do modelo de linguagem, configure um arquivo de configuração do Dev Proxy em seu projeto com o OpenAITelemetryPlugin. Para gerar um relatório com os custos totais e detalhes de uso, inclua o plug-in MarkdownReporter . Inclua a URL da API compatível com OpenAI que você deseja rastrear na urlsToWatch seção do arquivo de configuração.
Ficheiro: 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/*"
]
}
Rastreie solicitações para APIs compatíveis com OpenAI
Para rastrear solicitações de qualquer API compatível com OpenAI, adicione as URLs usadas em suas solicitações à urlsToWatch seção do arquivo de configuração do Dev Proxy.
Ficheiro: devproxyrc.json (secção urlsToWatch)
{
"urlsToWatch": [
"https://*.openai.azure.com/*"
]
}
A tabela a seguir lista algumas APIs populares compatíveis com OpenAI que você pode rastrear com o Dev Proxy:
| Fornecedor | URL para assistir | Descrição |
|---|---|---|
| Antrópico | https://api.anthropic.com/* |
Modelos de linguagem Claude |
| GitHub | https://models.github.com/* |
API de modelos do GitHub |
| Microsoft | https://*.openai.azure.com/* |
API de serviço OpenAI do Microsoft Azure |
| OpenAI | https://api.openai.com/* |
Modelos de linguagem GPT |
| x.ai | https://api.x.ai/* |
Modelos de linguagem Grok |
Configure o OpenAITelemetryPlugin para controlar os custos de uso do modelo de idioma
Para controlar os custos de uso do modelo de idioma, adicione uma seção de configuração para o OpenAITelemetryPlugin. Defina a propriedade includeCosts como true para ativar o controlo de custos. Especifique o caminho para um ficheiro JSON com os preços do modelo na propriedade pricesFile.
Ficheiro: devproxyrc.json (com acompanhamento de custos)
{
"$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/*"
]
}
Crie um arquivo de preços com os custos de entrada e saída (preço por milhão de tokens), para os modelos que você usa. O nome do modelo no arquivo de preços deve corresponder ao nome do modelo retornado nas respostas da API para que os custos sejam calculados corretamente.
Ficheiro: 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
}
}
}
Alterar a moeda usada nos custos do relatório de uso
Para alterar a moeda usada nos custos do relatório de uso, configure a propriedade currency na configuração OpenAITelemetryPlugin. O valor predefinido é USD.
Ficheiro: devproxyrc.json (secção 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"
}
}
Alterar o título do relatório de utilização
Por padrão, o formato usado para criar o título do relatório de LLM usage report for <application> in <environment>. Para alterar o nome e os valores do ambiente, defina as propriedades application e environment na configuração do OpenAITelemetryPlugin. Os valores padrão são default e development, respectivamente.
Ficheiro: devproxyrc.json (secção openAITelemetryPlugin)
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/openaitelemetryplugin.schema.json",
"application": "My application",
"environment": "Staging"
}
}
Configurar o Proxy de Desenvolvimento no fluxo de trabalho das Ações do GitHub
Para instalar e iniciar o Dev Proxy, utilize a ação setup. Para capturar solicitações para o processamento pelo OpenAITelemetryPlugin, inicie no modo de gravação definindo a entrada de auto-record para true. Para incluir o relatório de uso no resumo do trabalho, passe uma $GITHUB_STEP_SUMMARY variável para uma report-job-summary entrada.
Ficheiro: .github/workflows/your-workflow.yml (passo)
- 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
Acionar solicitações para gravar
Para interagir com seu aplicativo e disparar solicitações que o Dev Proxy pode gravar, use uma estrutura de teste de ponta a ponta como o Playwright. A ação de configuração define automaticamente as variáveis de ambiente http_proxy e https_proxy, que encaminham as solicitações através do Dev Proxy.
Ficheiro: .github/workflows/your-workflow.yml (passos)
- 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 o certificado Dev Proxy nos navegadores Chromium
Se estiver a usar navegadores baseados no Chromium em executores Linux para gerar solicitações que o Dev Proxy registe, é necessário instalar o certificado Dev Proxy para evitar erros SSL. Para instalar o certificado, use a chromium-cert ação.
Ficheiro: .github/workflows/your-workflow.yml (passos)
- 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
Carregar o relatório de uso para artefatos
Para gerar o relatório de uso, utilize a ação para interromper manualmente o Dev Proxy no seu fluxo de trabalho. Para carregar o relatório de uso como um artefato, use a ação actions/upload-artifact.
Ficheiro: .github/workflows/your-workflow.yml (passos)
- 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*