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.
Registra dados de telemetria OpenAI das solicitações e respostas compatíveis com OpenAI intercetadas.
Exemplo de configuração
{
"$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"
}
],
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/openaitelemetryplugin.schema.json",
"application": "My app",
"includeCosts": true,
"pricesFile": "prices.json"
}
}
Propriedades de configuração
| Propriedade | Descrição | Predefinido |
|---|---|---|
application |
Nome do aplicativo que emite as solicitações. Conectado os dados de telemetria para agrupar o uso por aplicativo. | default |
currency |
A moeda na qual os preços são registrados. Exibido em gráficos. | USD |
environment |
Ambiente no qual o aplicativo está sendo executado. Registrado nos dados de telemetria para agrupar o uso por ambiente. | development |
exporterEndpoint |
A URL do ponto de extremidade OpenTelemetry para o qual enviar os dados. Deve ser HTTP Protobuf endpoint. | http://localhost:4318 |
includeCompletion |
Se a conclusão deve ser incluída nos dados de telemetria. | true |
includeCosts |
Se os custos devem ser incluídos nos dados de telemetria. Requer a especificação do arquivo de preços. | false |
includePrompt |
Se o prompt deve ser incluído nos dados de telemetria. | true |
pricesFile |
Caminho para o arquivo com informações de preços. | null |
Exemplo de arquivo de preços
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/openaitelemetryplugin.pricesfile.schema.json",
"prices": {
"gpt-3.5-turbo": {
"input": 0.0015,
"output": 0.002
},
"gpt-4": {
"input": 0.03,
"output": 0.06
}
}
}
Propriedades do arquivo de preços
| Propriedade | Descrição | Predefinido |
|---|---|---|
prices |
Preços para os modelos. A chave é o nome do modelo e o valor é o objeto de preços do modelo. | {} |
Objeto de preços do modelo
Cada objeto de preços de modelo tem as seguintes propriedades:
| Propriedade | Descrição | Obrigatório | Valor predefinido | Valor da amostra |
|---|---|---|---|---|
input |
O preço por milhão de tokens para tokens de entrada/prompt. | Sim | 0.0 |
0.03 |
output |
O preço por milhão de tokens para tokens de saída/conclusão. | Sim | 0.0 |
0.06 |
Opções da linha de comandos
Nenhum
Observações
O OpenAITelemetryPlugin registra dados OpenTelemetry das solicitações e respostas compatíveis com OpenAI que interceta. Sem ter que instrumentar seu aplicativo com OpenTelemetry, você pode entender rapidamente como seu aplicativo usa modelos de linguagem grandes. Além disso, se você fornecer o arquivo de preços para os modelos que você usa, você também pode ver os custos relacionados ao LLM que seu aplicativo incorre.
Para cada solicitação e resposta intercetada, o plug-in registra uma extensão. Além disso, ele registra três métricas:
-
gen_ai.client.token.usage- o número de fichas utilizadas no pedido e na resposta -
gen_ai.usage.cost- o custo dos tokens utilizados no pedido e na resposta -
gen_ai.usage.total_cost- o custo total de todos os pedidos ao longo de uma sessão
Importante
As métricas de custo só são registradas se você definir a includeCosts propriedade e true fornecer o arquivo de preços. Caso contrário, o plug-in não registrará as métricas.
Para visualizar os dados de telemetria gravados, você pode usar qualquer painel compatível com OpenTelemetry. Por exemplo, você pode usar o painel do .NET Aspire ou o OpenLIT.
Importante
Para ver os dados, inicie o painel antes de emitir uma solicitação compatível com OpenAI. Caso contrário, não há nenhum coletor OpenTelemetry para receber os dados que o plug-in envia.