インターセプトされた OpenAI 互換の要求と応答から OpenAI テレメトリ データをログに記録します。
プラグイン インスタンスの定義
{
"name": "OpenAITelemetryPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "openAITelemetryPlugin"
}
構成の例
{
"openAITelemetryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.28.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 |
Prices ファイルの例
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.28.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 ファイルのプロパティ
プロパティ | 説明 | 既定値 |
---|---|---|
prices |
モデルの価格。 キーはモデル名であり、値は model prices オブジェクトです。 | {} |
モデル価格オブジェクト
各モデル価格オブジェクトには、次のプロパティがあります。
プロパティ | 説明 | 必須 | 既定値 | サンプル値 |
---|---|---|---|---|
input |
入力/プロンプト トークンの 100 万トークンあたりの価格。 | はい | 0.0 |
0.03 |
output |
出力/完了トークンの 100 万トークンあたりの価格。 | はい | 0.0 |
0.06 |
コマンドライン オプション
無し
注釈
OpenAITelemetryPlugin は、OpenAI と互換性のある要求と、それがインターセプトする応答から OpenTelemetry データをログに記録します。 OpenTelemetry を使用してアプリケーションをインストルメント化しなくても、アプリケーションで大規模な言語モデルがどのように使用されているかをすばやく理解できます。 さらに、使用するモデルの価格ファイルを指定すると、アプリケーションで発生する LLM 関連のコストも確認できます。
インターセプトされた要求と応答ごとに、プラグインはスパンをログに記録します。 さらに、次の 3 つのメトリックがログに記録されます。
-
gen_ai.client.token.usage
- 要求と応答で使用されるトークンの数 -
gen_ai.usage.cost
- 要求と応答で使用されるトークンのコスト -
gen_ai.usage.total_cost
- セッション中のすべての要求の合計コスト
Von Bedeutung
コスト メトリックは、 includeCosts
プロパティを true
に設定し、価格ファイルを指定した場合にのみログに記録されます。 それ以外の場合、プラグインはメトリックをログに記録しません。
記録されたテレメトリ データを表示するには、OpenTelemetry と互換性のあるダッシュボードを使用できます。 たとえば、 .NET アスパイア ダッシュボード または OpenLIT を使用できます。
Von Bedeutung
データを表示するには、OpenAI 互換要求を発行する前にダッシュボードを開始します。 それ以外の場合、プラグインが送信するデータを受信する OpenTelemetry コレクターはありません。
次のステップ
Dev Proxy