Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Registra i dati di telemetria OpenAI dalle richieste e risposte compatibili con OpenAI intercettate.
Definizione dell'istanza del plug-in
{
"name": "OpenAITelemetryPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "openAITelemetryPlugin"
}
Esempio di configurazione
{
"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"
}
}
Proprietà di configurazione
| Proprietà | Descrizione | Valore predefinito |
|---|---|---|
application |
Nome dell'applicazione che invia le richieste. Accesso ai dati di telemetria per raggruppare l'utilizzo in base all'applicazione. | default |
currency |
Valuta in cui vengono registrati i prezzi. Visualizzato nei grafici. | USD |
environment |
Ambiente in cui è in esecuzione l'applicazione. Accesso ai dati di telemetria per raggruppare l'utilizzo in base all'ambiente. | development |
exporterEndpoint |
URL dell'endpoint OpenTelemetry a cui inviare i dati. Deve essere l'endpoint Protobuf HTTP. | http://localhost:4318 |
includeCompletion |
Indica se includere il completamento nei dati di telemetria. | true |
includeCosts |
Indica se includere i costi nei dati di telemetria. Richiede di specificare il file dei prezzi. | false |
includePrompt |
Indica se includere il prompt nei dati di telemetria. | true |
pricesFile |
Percorso del file con informazioni sui prezzi. | null |
Esempio di file prezzi
{
"$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
}
}
}
Proprietà dei file dei prezzi
| Proprietà | Descrizione | Valore predefinito |
|---|---|---|
prices |
Prezzi per i modelli. La chiave è il nome del modello e il valore è l'oggetto prezzi del modello. | {} |
Oggetto Prezzi modello
Ogni oggetto prezzi modello ha le proprietà seguenti:
| Proprietà | Descrizione | Obbligatorio | Valore predefinito | Valore di esempio |
|---|---|---|---|---|
input |
Prezzo per milione di token per i token di input/prompt. | Sì | 0.0 |
0.03 |
output |
Prezzo per milione di token per token di output/completamento. | Sì | 0.0 |
0.06 |
Opzioni della riga di comando
Nessuno
Osservazioni:
OpenAITelemetryPlugin registra i dati OpenTelemetry dalle richieste e dalle risposte compatibili con OpenAI che intercetta. Senza dover instrumentare l'applicazione con OpenTelemetry, è possibile comprendere rapidamente come l'applicazione usa modelli linguistici di grandi dimensioni. Inoltre, se si specifica il file dei prezzi per i modelli usati, è anche possibile visualizzare i costi correlati all'LLM che l'applicazione comporta.
Per ogni richiesta e risposta intercettata, il plug-in registra un intervallo. Inoltre, registra tre metriche:
-
gen_ai.client.token.usage: numero di token usati nella richiesta e nella risposta -
gen_ai.usage.cost- costo dei token usati nella richiesta e nella risposta -
gen_ai.usage.total_cost- il costo totale di tutte le richieste nel corso di una sessione
Importante
Le metriche dei costi vengono registrate solo se si imposta la includeCosts proprietà su true e si specifica il file dei prezzi. In caso contrario, il plug-in non registra le metriche.
Per visualizzare i dati di telemetria registrati, è possibile usare qualsiasi dashboard compatibile con OpenTelemetry. Ad esempio, è possibile usare il dashboard .NET Aspire o OpenLIT.
Importante
Per visualizzare i dati, avviare il dashboard prima di eseguire una richiesta compatibile con OpenAI. In caso contrario, non esiste alcun agente di raccolta OpenTelemetry per ricevere i dati inviati dal plug-in.