大規模言語モデル (LLM) のトレースフィールドは、Alibaba Cloud が OpenTelemetry 標準と LLM アプリケーションドメインの概念に基づいて定義したものです。これらのフィールドは、属性、リソース、イベントを拡張して、LLM アプリケーションのトレースデータのセマンティクスを記述します。LLM の入出力リクエストやトークン消費などの主要な操作をキャプチャします。コンプリーション、チャット、検索拡張生成 (RAG)、エージェント、ツール呼び出しなどのシナリオ向けに、コンテキストを意識した豊富なセマンティックデータを提供し、効果的なデータトレースとレポート作成を可能にします。
このセマンティック仕様は、コミュニティとともに進化します。お使いのアプリケーションが Python の場合、可観測性データを手動で収集する必要があります。データ統合と収集には、loongsuite-util-genai コンポーネントを使用できます。詳細については、「README」をご参照ください。
スパンレベルのフィールド定義は、OpenTelemetry のオープン標準に準拠しています。Alibaba Cloud Managed Service for OpenTelemetry に保存されるトップレベルのトレースフィールドの詳細については、「Trace Explorer parameters」をご参照ください。
LLM 固有の SpanKind は属性であり、OpenTelemetry のトレース仕様で定義されている スパンの種類 ではありません。このセマンティック仕様は、OpenTelemetry GenAI セマンティック規約 を拡張したものです。その仕様はアクティブに開発されており、今後のメンテナンスリリースで変更される可能性があります。
共通セクション
属性
属性キー | 説明 | 型 | 値の例 | 要件レベル |
| セッション ID | string |
| 利用可能な場合は必須 |
| エンドユーザー識別子 | string |
| 利用可能な場合は必須 |
| オペレーションタイプ [1] | string |
| 必須 |
| セカンダリオペレーションタイプ [2] | string |
| 必須 |
| 使用したフレームワークの種類 | string |
| 利用可能な場合は必須 |
[1] gen_ai.span.kind:gen_ai.operation.name とのマッピングは以下のとおりです。
|
| 説明 |
RETRIEVER |
| ドキュメント検索 |
LLM |
| モデルの呼び出し |
EMBEDDING |
| 埋め込み |
TOOL |
| ツール呼び出し |
AGENT |
| エージェントの呼び出し |
RERANKER | - | 再ランキングの呼び出し |
CHAIN | - | チェーン (呼び出し単位) |
TASK | - | タスクの呼び出し |
ENTRY | - | エントリ呼び出しマーカー |
STEP | - | ReAct ラウンドマーカー |
[2] gen_ai.operation.name:セカンダリのオペレーションタイプです。以下の列挙値のいずれかを使用するか、カスタム値を定義してください。
値 | 説明 |
| チャット補完オペレーション |
| GenAI エージェント作成オペレーション |
| 単語埋め込みオペレーション |
| ツール呼び出しオペレーション |
| マルチモーダルコンテンツ生成オペレーション |
| GenAI エージェント呼び出しオペレーション |
| ドキュメント検索オペレーション |
| テキスト補完オペレーション |
リソース
リソースキー | 説明 | 型 | 値の例 | 要件レベル |
| アプリケーション名 | string |
| 必須 |
| Cloud Monitor ワークスペース | string |
| 利用可能な場合は必須 |
| ARMS サービス ID | string |
| 利用可能な場合は必須 |
| アプリケーションソース | string |
| 利用可能な場合は必須 |
| アプリケーション機能 | string |
| 条件付きで必須 説明
|
チェーン
チェーンは、LLM と他のコンポーネントを接続し、取得、埋め込み、LLM 呼び出し、ネストされたチェーンなどの複雑なタスクを実行するためのツールです。
スパンに chain {chain_name} という名前を付けます。chain_name を取得できない場合は、chain と名付けます。
OpenTelemetry コミュニティでは、このスパンタイプのセマンティック規約はまだ定義されていません。現時点では、チェーンスパンは LangChain フレームワークにのみ適用されます。
属性
属性キー | 説明 | 型 | 例 | 要件レベル |
| オペレーションタイプ [1] | 文字列 |
| 必須 |
| セカンダリオペレーションタイプ | 文字列 |
| 利用可能な場合は必須 |
| 入力内容 | 文字列 |
| 推奨 |
| 応答内容 | 文字列 |
| 推奨 |
| 最初のトークンまでの時間 [2] | 整数 | 1000000 | 推奨 |
[1] gen_ai.span.kind: LLM spanKind 専用の列挙型。 Chain 内では、この値は CHAIN である必要があります。
[2] gen_ai.user.time_to_first_token: サーバーがユーザーリクエストを受信してから、最初の応答パケットが返されるまでの時間。単位: ナノ秒。
レトリーバー
レトリーバーは、ベクトルストアまたはデータベースにアクセスしてデータを取得します。通常、LLM の応答精度と効率を向上させるためにコンテキストを補完します。
gen_ai.operation.name を retrieval に設定します。gen_ai.operation.name が retrieval の場合、gen_ai.span.kind を RETRIEVER として推論します。
スパンには {gen_ai.operation.name} {gen_ai.data_source.id} という名前を付けます。特殊なケースでは、他の命名形式も使用できます。
属性
属性キー | 説明 | 型 | 例 | 要件レベル |
| オペレーションタイプ [1] | 文字列 |
| 必須 |
| セカンダリオペレーションタイプ [2] | 文字列 |
| 必須 |
| データソース一意識別子 [3] | 文字列 |
| 利用可能な場合は必須 |
| LLM プロバイダー | 文字列 |
| 利用可能な場合は必須 |
| リクエストで指定されたモデル名 | 文字列 |
| 利用可能な場合は必須 |
| リクエストで指定された Top-K 値 | 単精度浮動小数点数 |
| 推奨 |
| 取得したドキュメントリスト [4] | 文字列 |
| 任意 |
| クエリテキストスニペット | 文字列 |
| 任意 |
[1] gen_ai.span.kind: LLM スパンカインド専用の列挙値。レトリーバーでは、この値は RETRIEVER である必要があります。
[2] gen_ai.operation.name: セカンダリオペレーションタイプ。
[3] gen_ai.data_source.id: 一意のデータソース ID。これは、AI エージェントまたは RAG アプリケーションが依存するデータソースです。外部データベース、Object Storage Service、ドキュメントセット、ウェブサイト、またはその他のストレージシステムが該当します。
[4] gen_ai.retrieval.documents: 取得したドキュメントリストを記録します。各ドキュメントオブジェクトには、少なくとも次のプロパティが含まれている必要があります: id (文字列):一意のドキュメント識別子。 score (倍精度浮動小数点数):関連性スコア。
リランカー
リランカーは、クエリに基づいて複数の入力ドキュメントの関連性を評価し、それらを並べ替え、LLM への入力としてトップ K のドキュメントを返すことがあります。
スパンに rerank {reranker.model_name} という名前を付けます。reranker.model_name が取得できない場合は、スパンに rerank という名前を付けます。
OpenTelemetry コミュニティは、このスパンタイプに対するセマンティック規約をまだ定義していません。
属性
属性キー | 説明 | 型 | 例 | 要件レベル |
| オペレーションタイプ [1] | string |
| 必須 |
| リランカーリクエストパラメータ | string |
| 任意 |
| リランカーが使用するモデル名 | string |
| 任意 |
| 再ランキング後のランク | integer |
| 任意 |
| 入力ドキュメントのメタデータ [2] | string |
| 必須 |
| 出力ドキュメントのメタデータ [3] | string |
| 必須 |
[1] gen_ai.span.kind: LLM スパン種別専用の列挙型。リランカーでは、この値は RERANKER である必要があります。
[2] reranker.output_document: 再ランキング用の入力ドキュメント。JSON 配列構造。メタデータには、パス、ファイル名、ソースなどの基本的なドキュメント情報が含まれます。
[3] reranker.output_document:リランキング後の出力ドキュメント。 JSON 配列構造。 メタデータには、パス、ファイル名、ソースなどの基本的なドキュメント情報が含まれます。
LLM
LLM スパンは、LLM の呼び出しまたは推論プロセスを表します。例としては、SDK または OpenAPI を使用して、異なる LLM を推論またはテキスト生成のために呼び出すことが挙げられます。
gen_ai.operation.name を chat、generate_content、または text_completion のいずれかに設定します。gen_ai.operation.name が chat、generate_content、または text_completion の場合、gen_ai.span.kind を LLM と推論します。
スパンには {gen_ai.operation.name} {gen_ai.request.model} という名前を付けます。特殊なケースでは、他の命名形式も許容されます。
属性
属性キー | 説明 | 型 | 例 | 要件レベル |
| オペレーションタイプ [1] | 文字列 |
| 必須 |
| セカンダリオペレーションタイプ [2] | 文字列 |
| 必須 |
| LLM プロバイダー | 文字列 |
| 必須 |
| 一意の会話 ID [3] | 文字列 |
| 利用可能な場合は必須 |
| LLM リクエストで指定された出力タイプ [4] | 文字列 |
| 利用可能な場合は必須 |
| LLM リクエストで要求された候補生成数 | 整数 |
| 1 でない場合は必須 |
| LLM リクエストで指定されたモデル名 | 文字列 |
| 必須 |
| LLM リクエストで指定されたシード | 整数 |
| 利用可能な場合は必須 |
| LLM リクエストで設定された頻度ペナルティ | 浮動小数点 |
| 推奨 |
| LLM リクエストで指定された最大トークン数 | 整数 |
| 推奨 |
| LLM リクエストで設定されたプレゼンスペナルティ | 浮動小数点 |
| 推奨 |
| LLM リクエストで指定された Temperature | 浮動小数点 |
| 推奨 |
| LLM リクエストで指定された Top-P 値 | 浮動小数点 |
| 推奨 |
| LLM リクエストで指定された Top-K 値 | 整数 |
| 推奨 |
| LLM の停止シーケンス | 文字列配列 |
| 推奨 |
|
LLM によって生成された一意の ID |
文字列 |
|
推奨 |
| LLM 生成に使用されたモデル名 | 文字列 |
| 推奨 |
| LLM が生成を停止した終了理由 | 文字列配列 |
| 推奨 |
| ストリーミング応答シナリオにおける LLM の初回トークンレイテンシー [5] | 整数 |
| 推奨 |
| 推論モデルの推論時間 [6]。単位:ナノ秒 | 整数 |
| 推奨 |
| 使用された入力トークン数 | 整数 |
| 推奨 |
| 使用された出力トークン数 | 整数 |
| 推奨 |
| 使用された合計トークン数 | 整数 |
| 推奨 |
| モデルプロバイダーのキャッシュに書き込まれたトークン数 [7] | 整数 |
| 推奨 |
| モデルプロバイダーのキャッシュから読み取られたトークン数 [8] | 整数 |
| 推奨 |
| モデル入力内容 [9] | 文字列 |
| 任意 |
|
モデル出力内容 [10] |
文字列 |
|
任意 |
| システムプロンプト内容 [11] | 文字列 |
| 任意 |
| ツール定義リスト [12] | 文字列 |
| 任意 |
| LLM プレフィルレイテンシー。単位:ナノ秒 | 整数 |
| 推奨 |
| LLM デコードレイテンシー。単位:ナノ秒 | 整数 |
| 推奨 |
| LLM 推論時間。プレフィル時間とデコード時間の合計に等しい。単位:ナノ秒 | 整数 |
| 推奨 |
| LLM 入力内容に含まれるマルチモーダルデータ [13] | 文字列配列 |
| 推奨 |
| LLM 出力内容に含まれるマルチモーダルデータ [14] | 文字列配列 |
| 推奨 |
[1] gen_ai.span.kind: LLM スパンカインド専用の列挙値。LLM スパンでは、この値は LLM でなければなりません。
[2] gen_ai.operation.name: セカンダリオペレーションタイプ。
[3] gen_ai.conversation.id: 一意の会話 ID。簡単に取得できる場合は、これを収集します。
[4] gen_ai.output.type: リクエストが出力タイプ (出力形式など) を指定している場合は、これを収集します。値は、以下の列挙値のいずれか、またはカスタム値でなければなりません:
値 | 説明 |
| 画像 |
| 整形された JSON オブジェクト |
| 音声 |
| プレーンテキスト |
[5] gen_ai.response.time_to_first_token: サーバーがユーザーリクエストを受信してから最初の応答パケットが返されるまでの時間。単位:ナノ秒。
[6] gen_ai.response.reasoning_time: 推論プロセスの継続時間。単位:ナノ秒。
[7] gen_ai.usage.cache_creation.input_tokens: この値は、すでに gen_ai.usage.input_tokens に含まれている必要があります。
[8] gen_ai.usage.cache_read.input_tokens: この値は、すでに gen_ai.usage.input_tokens に含まれている必要があります。
[9] gen_ai.input.messages: LLM 呼び出しの入力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で提供 しなければなりません。gen_ai.input.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[10] gen_ai.output.messages: モデルの出力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で提供 しなければなりません。gen_ai.output.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[11] gen_ai.system_instructions: システムプロンプトまたは指示を個別に記録します。システムプロンプトまたは指示を独立して取得できる場合は、このフィールドを使用します。それ以外の場合は、gen_ai.input.messages 属性に記録します。gen_ai.system_instructions.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[12] gen_ai.tool.definitions: LLM に渡されたツール定義を記録します。この属性は非常に大きくなる可能性があります。デフォルトでは、type フィールドと name フィールドのみを収集します。その他のすべてのフィールドは、OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[13] gen_ai.input.multimodal_metadata: モデルの入力内容で参照されているマルチモーダルデータを集約します。UriPart メッセージ のみを含みます。gen_ai.input.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[14] gen_ai.output.multimodal_metadata: モデルの出力内容で参照されているマルチモーダルデータを集約します。UriPart メッセージ のみを含みます。gen_ai.output.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
プロンプト、入力、出力の記録
ユーザー入力とモデル応答の記録を省略するか、スパンの属性に記録するか、イベント (ログ) として記録することができます。詳細については、「LLMアプリケーション会話履歴収集動作の制御」をご参照ください。
埋め込み
埋め込みは、LLM を使用してテキストを埋め込む単一のプロセスです。その後、類似性クエリを使用して問題解決を最適化できます。
gen_ai.operation.name を embeddings に設定します。gen_ai.operation.name が embeddings の場合、gen_ai.span.kind を EMBEDDING として推論します。
スパンには {gen_ai.operation.name} {gen_ai.request.model} という名前を付けます。特殊なケースでは、他の命名形式も使用できます。
属性
属性キー | 説明 | 型 | 例 | 要件レベル |
| オペレーションタイプ [1] | 文字列 |
| 必須 |
| セカンダリオペレーションタイプ [2] | 文字列 |
| 必須 |
| LLM プロバイダー | 文字列 |
| 必須 |
| リクエストで指定されたモデル名 | 文字列 |
| 利用可能な場合は必須 |
| 埋め込みオペレーションで期待される次元数 | 整数 |
| 推奨 |
| 埋め込みオペレーションで要求されるエンコーディングフォーマット | 文字列配列 |
| 推奨 |
| 入力テキストで消費されるトークン数 | 整数 |
| 任意 |
| 埋め込みで消費される合計トークン数 | 整数 |
| 任意 |
[1] gen_ai.span.kind: LLM スパンカインド専用の列挙値。埋め込みスパンでは、この値は EMBEDDING でなければなりません。
[2] gen_ai.operation.name: セカンダリオペレーションタイプ。
ツール
ツールスパンは、外部ツールへの呼び出しを表します。例として、計算機の呼び出しや、天気 API から最新の天気情報をリクエストする場合などがあります。
gen_ai.operation.name を execute_tool に設定します。gen_ai.operation.name が execute_tool の場合、gen_ai.span.kind を TOOL として推論します。
スパンには {gen_ai.operation.name} {gen_ai.tool.name} という名前を付けます。特殊なケースでは、他の命名形式も使用できます。
ツールの実行がスキルをロードする場合は、関連する gen_ai.skill.* フィールドを設定します。一般的なシナリオには、load_skill、read_skill、または類似の操作などのツール呼び出しが含まれます。
属性
属性キー | 説明 | 型 | 例 | 要件レベル |
| オペレーションタイプ [1] | 文字列 |
| 必須 |
| セカンダリオペレーションタイプ | 文字列 |
| 必須 |
| ツール ID | 文字列 |
| 推奨 |
| ツールの説明 | 文字列 |
| 推奨 |
| ツール名 | 文字列 | 推奨 | |
| ツールタイプ | 文字列 |
| 推奨 |
|
|
GenAI スキルの一意の識別子。 |
文字列 |
|
スキルをロードする場合は必須。 |
|
|
GenAI スキル名。 |
文字列 |
|
スキルをロードする場合は必須。 |
|
|
アプリケーションが提供する、GenAI スキルの自由形式の説明。 |
文字列 |
|
推奨 |
|
|
GenAI スキルのバージョン。 |
文字列 |
|
推奨 |
| ツール呼び出しの入力パラメーター [2] | 文字列 |
| 任意 |
| ツール呼び出しの戻り値 [3] | 文字列 |
| 任意 |
[1] gen_ai.span.kind: LLM スパンカインド専用の列挙型。ツールスパンでは、この値は TOOL である必要があります。
[2] gen_ai.tool.call.arguments: ツール呼び出しの入力パラメーター (JSON 文字列)。OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[3] gen_ai.tool.call.result: ツール呼び出しの戻り値 (JSON 文字列)。OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
エージェント
エージェントスパンは、インテリジェントエージェントのシナリオ、つまりより複雑なチェーンを表します。エージェントは、LLM の推論結果を使用して次のステップを決定します。これには、複数の LLM およびツール呼び出しが含まれる場合があり、段階的に最終的な回答に到達します。
gen_ai.operation.name を invoke_agent または create_agent に設定します。gen_ai.operation.name が invoke_agent または create_agent の場合、gen_ai.span.kind を AGENT として推論します。
スパンに {gen_ai.operation.name} {gen_ai.agent.name} という名前を付けます。特殊なケースでは、他の命名形式も使用可能です。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| オペレーションタイプ [1] | string |
| 必須 |
| セカンダリオペレーションタイプ [2] | string |
| 必須 |
| 一意の会話 ID [3] | string |
| 利用可能な場合は必須 |
| エージェントの説明 | string |
| 利用可能な場合は必須 |
| 一意のエージェント識別子 | string |
| 利用可能な場合は必須 |
| エージェント名 | string |
| 利用可能な場合は必須 |
| データソースの一意の識別子 [4] | string |
| 利用可能な場合は必須 |
| 使用された入力トークン数 | integer |
| 推奨 |
| 使用された出力トークン数 | integer |
| 推奨 |
| 使用された合計トークン数 | integer |
| 推奨 |
| モデルプロバイダーのキャッシュに書き込まれたトークン数 [5] | integer |
| 推奨 |
| モデルプロバイダーのキャッシュから読み取られたトークン数 [6] | integer |
| 推奨 |
| モデルの入力内容 [7] | string |
| 任意 |
| モデルの出力内容 [8] | string |
| 任意 |
| システムプロンプトの内容 [9] | string |
| 任意 |
| ツール定義リスト [10] | string |
| 任意 |
| エージェントの初回トークン応答レイテンシー | integer |
| 推奨 |
[1] gen_ai.span.kind:LLM スパンカインドの専用の列挙型です。エージェントスパンでは、この値は必ず AGENT である必要があります。
[2] gen_ai.operation.name:セカンダリオペレーションタイプです。
[3] gen_ai.conversation.id:一意の会話 ID です。容易に取得できる場合は収集してください。
[4] gen_ai.data_source.id:一意のデータソース ID です。これは、AI エージェントまたは RAG アプリケーションが依存するデータソースです。外部データベース、オブジェクトストレージサービス、ドキュメントセット、ウェブサイト、またはその他のストレージシステムが該当します。
[5] gen_ai.usage.cache_creation.input_tokens:この値は、すでに gen_ai.usage.input_tokens に含まれている必要があります。
[6] gen_ai.usage.cache_read.input_tokens:この値は、すでに gen_ai.usage.input_tokens に含まれている必要があります。
[7] gen_ai.input.messages:LLM 呼び出しの入力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で提供する必要があります。gen_ai.input.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効です。
[8] gen_ai.output.messages:モデルの出力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で提供する必要があります。gen_ai.output.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効です。
[9] gen_ai.system_instructions:システムプロンプトまたはシステム指示の内容を別途記録します。システムプロンプトまたはシステム指示の内容を個別に取得できる場合は、このフィールドを使用してください。それ以外の場合は、gen_ai.input.messages 属性に記録してください。gen_ai.system_instructions.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効です。
[10] gen_ai.tool.definitions:LLM に渡されるツール定義を記録します。この属性は非常に大きくなる可能性があります。デフォルトでは、type と name フィールドのみを収集します。OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ、他のすべてのフィールドを収集します。このフラグはデフォルトで有効です。
タスク
タスクスパンは、ローカル関数の呼び出しや、その他のアプリケーション定義ロジックの実行など、カスタムの内部メソッド呼び出しを表します。
スパンに run_task {gen_ai.task.name} という名前を付けます。特別な場合には、他の命名形式も使用できます。
OpenTelemetry コミュニティは、このスパンタイプのセマンティック規約をまだ定義していません。そのため、gen_ai.operation.name は変更される可能性があります。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| オペレーションタイプ [1] | string |
| 必須 |
| セカンダリオペレーションタイプ | string |
| 必須 |
| 入力パラメーター | string |
| 任意 |
| 入力 MIME タイプ | string |
| 任意 |
| 出力 MIME タイプ | string |
| 任意 |
[1] gen_ai.span.kind は、LLM spanKind 用の専用の列挙型です。Task スパンでは、この値は TASK でなければなりません。
エントリ
エントリスパンは、AI アプリケーションシステム呼び出しのエントリポイントを示します。
スパンに enter_ai_application_system という名前を付けます。特別な場合には、他の命名フォーマットも許容されます。
OpenTelemetry コミュニティは、このスパンタイプに対するセマンティック規約をまだ定義していません。そのため、gen_ai.operation.name は変更される可能性があります。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| オペレーションタイプ [1] | string |
| 必須 |
| セカンダリオペレーションタイプ | string |
| 推奨 |
| セッション ID | string |
| 利用可能な場合は必須 |
| エンドユーザー識別子 | string |
| 利用可能な場合は必須 |
| モデルの入力内容 [2] | string |
| 任意 |
| モデルの出力内容 [3] | string |
| 任意 |
| ストリーミング応答のシナリオにおける最初のトークン応答レイテンシー [4] | integer |
| 推奨 |
[1] gen_ai.span.kind: LLM spanKind 専用の列挙型。Entry スパンでは、この値は でなければなりません ENTRY。
[2] gen_ai.input.messages: LLM 呼び出しの入力コンテンツを記録します。メッセージは、モデルまたはエージェントに送信された順序で必ず提供する必要があります。gen_ai.input.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[3] gen_ai.output.messages: モデルの出力内容を記録します。メッセージは、モデルまたはエージェントに送信された順序で提供される必要があります。 gen_ai.output.messages.json に従ってください。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT フラグが有効な場合にのみ収集します。このフラグはデフォルトで有効になっています。
[4] gen_ai.response.time_to_first_token: サーバーがユーザーリクエストを受信してから、最初の応答パケットが返されるまでの時間。単位: ナノ秒。
ReAct ステップ
ステップスパンは、エージェント内の Reasoning-Acting の反復プロセスを示します。
スパンに react step という名前を付けます。特別な場合には、他の命名形式も許容されます。
OpenTelemetry コミュニティは、このスパンタイプのセマンティック規約をまだ定義していません。そのため、 gen_ai.operation.name は変更される可能性があります。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| オペレーションタイプ [1] | string |
| 必須 |
| セカンダリオペレーションタイプ | string |
| 推奨 |
| この ReAct ラウンドが終了した理由 | string |
| 推奨 |
| この ReAct 反復のラウンド番号 [2] | integer |
| 推奨 |
[1] gen_ai.span.kind: LLM spanKind を表す専用の列挙型です。ReAct ステップスパンでは、この値は STEP である必要があります。
[2] gen_ai.react.round:ReAct のラウンド数は 1 から始まり、イテレーションごとに 1 ずつ増加します。