Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Registra dados de telemetria openai das solicitações e respostas compatíveis com OpenAI interceptadas.
Definição da instância do plug-in
{
"name": "OpenAITelemetryPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "openAITelemetryPlugin"
}
Exemplo de configuração
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/openaitelemetryplugin.schema.json",
"application": "My app",
"includeCosts": true,
"pricesFile": "prices.json"
}
}
Propriedades de configuração
| Propriedade | Descrição | Padrão |
|---|---|---|
application |
Nome do aplicativo que emite as solicitações. Registrados nos 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á em execução. Registrados 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 o ponto de extremidade http protobuf. | http://localhost:4318 |
includeCompletion |
Se deseja incluir a conclusão nos dados de telemetria. | true |
includeCosts |
Se deve incluir os custos nos dados de telemetria. Requer especificar o arquivo de preços. | false |
includePrompt |
Se deseja incluir o prompt 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/v1.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 | Padrão |
|---|---|---|
prices |
Preços dos modelos. A chave é o nome do modelo e o valor é objeto de preços de modelo. | {} |
Objeto de preços de modelo
Cada objeto de preços de modelo tem as seguintes propriedades:
| Propriedade | Descrição | Obrigatório | Valor padrão | Valor de 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 de linha de comando
Nenhum
Observações
O OpenAITelemetryPlugin registra dados OpenTelemetry das solicitações e respostas compatíveis com OpenAI interceptadas por ele. Sem precisar instrumentar seu aplicativo com o 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 usados, também poderá ver os custos relacionados à LLM que seu aplicativo incorre.
Para cada solicitação e resposta interceptadas, o plug-in registra um intervalo. Além disso, ele registra três métricas:
-
gen_ai.client.token.usage- o número de tokens usados na solicitação e resposta -
gen_ai.usage.cost- o custo dos tokens usados na solicitação e resposta -
gen_ai.usage.total_cost- o custo total de todas as solicitações ao longo de uma sessão
Importante
As métricas de custo só serão registradas se você definir a includeCosts propriedade true como e fornecer o arquivo de preços. Caso contrário, o plug-in não registrará as métricas em log.
Para exibir 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 haverá um coletor OpenTelemetry para receber os dados que o plug-in envia.