記錄來自已攔截之 OpenAI 相容要求和回應的 OpenAI 遙測數據。
外掛程式實例定義
{
"name": "OpenAITelemetryPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "openAITelemetryPlugin"
}
設定範例
{
"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"
}
}
設定屬性
| 房產 | 說明 | 預設 |
|---|---|---|
application |
發出要求的應用程式名稱。 已登入遙測數據,以依應用程式分組使用量。 | default |
currency |
記錄價格的貨幣。 顯示在圖表中。 | USD |
environment |
應用程式執行所在的環境。 已登入遙測數據,以依環境分組使用量。 | development |
exporterEndpoint |
要傳送數據之 OpenTelemetry 端點的 URL。 必須是 HTTP Protobuf 端點。 | http://localhost:4318 |
includeCompletion |
是否要在遙測數據中包含完成。 | true |
includeCosts |
是否要在遙測數據中包含成本。 需要指定價格檔案。 | false |
includePrompt |
是否要在遙測數據中包含提示。 | true |
pricesFile |
具有價格資訊之檔案的路徑。 | null |
價格檔案範例
{
"$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
}
}
}
價格檔案屬性
| 房產 | 說明 | 預設 |
|---|---|---|
prices |
模型的價格。 索引鍵是模型名稱,而值為模型價格物件。 | {} |
模型價格物件
每個模型價格物件都有下列屬性:
| 房產 | 說明 | 為必填項目 | 預設值 | 範例值 |
|---|---|---|---|---|
input |
輸入/提示令牌每百萬個令牌的價格。 | 是的 | 0.0 |
0.03 |
output |
輸出/完成令牌每百萬個令牌的價格。 | 是的 | 0.0 |
0.06 |
命令列選項
沒有
備註
OpenAITelemetryPlugin 會記錄 OpenTelemetry 數據,來自與 OpenAI 相容的要求和其攔截的回應。 您不需要使用 OpenTelemetry 來偵測您的應用程式,即可快速瞭解應用程式如何使用大型語言模型。 此外,如果您為所使用的模型提供價格檔案,您也可以看到應用程式所產生的 LLM 相關成本。
針對每個攔截的要求和回應,外掛程式會記錄範圍。 此外,它會記錄三個計量:
-
gen_ai.client.token.usage- 要求和回應中使用的令牌數目 -
gen_ai.usage.cost- 要求和回應中使用的令牌成本 -
gen_ai.usage.total_cost- 工作階段期間所有要求的總成本
這很重要
只有在您將 屬性設定 includeCosts 為 true 並提供價格檔案時,才會記錄成本計量。 否則,外掛程式不會記錄計量。
若要檢視記錄的遙測數據,您可以使用任何與 OpenTelemetry 相容的儀錶板。 例如,您可以使用 .NET Aspire 儀錶板 或 OpenLIT。
這很重要
若要查看數據,請先啟動儀錶板,再發出OpenAI相容要求。 否則,沒有 OpenTelemetry 收集器可接收外掛程式所傳送的數據。