Alibaba Cloud は、OpenTelemetry オープン標準と LLM アプリケーションドメインの概念に基づいて、大規模言語モデル (LLM) のトレースフィールドを定義しています。Attributes、Resource、Event を拡張することにより、これらのフィールドは LLM アプリケーションの呼び出しチェーンデータのセティクスを記述します。LLM の入出力リクエストやトークン消費などの主要な操作をキャプチャします。これらのフィールドは、Completion、Chat、検索拡張生成 (RAG)、Agent、Tool などのシナリオに対して、コンテキストを意識した豊富なセマンティックデータを提供し、データ追跡とレポート作成を簡素化します。これらのセマンティックフィールドは、コミュニティの進化に伴い、継続的に更新および最適化されます。
レベル 1 のスパンフィールドの定義は、OpenTelemetry オープン標準に基づいています。Alibaba Cloud Managed Service for OpenTelemetry に保存されている基礎となるレベル 1 のトレースフィールドの詳細については、「トレース分析パラメーター」をご参照ください。
LLM 関連の SpanKind は属性であり、OpenTelemetry トレースで定義されている Span kind とは異なります。
共通フィールド
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| セッション ID。 | 文字列 |
| 条件付きで必須 |
| アプリケーションのエンドユーザーの ID。 | 文字列 |
| 条件付きで必須 |
| 操作タイプ。 | 文字列 | LLM Span Kind をご参照ください | 必須 |
| 使用されるフレームワークのタイプ。 | 文字列 |
| 条件付きで必須 |
リソース
リソースキー | 説明 | タイプ | 例 | 要件レベル |
| アプリケーション名。 | 文字列 |
| 必須 |
Chain
Chain は、LLM を他の複数のコンポーネントと接続して複雑なタスクを実行するためのツールです。ネストすることができ、Retrieval、Embedding、および LLM の呼び出しを含む場合があります。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| 操作タイプ。これは LLM SpanKind に固有の列挙です。Chain の場合、値は必ず | 文字列 |
| 必須 |
| 操作のサブタイプ。 | 文字列 |
| 条件付きで必須 |
| 入力内容。 | 文字列 |
| 推奨 |
| 返される内容。 | 文字列 |
| 推奨 |
| 最初のトークンまでの時間 (TTFT)。これは、クエリに対する全体的な応答の最初のパケットのレイテンシーです。サーバーがユーザーリクエストを受信してから最初のパケットが返されるまでの時間を測定します。単位はナノ秒です。 | 整数 | 1000000 | 推奨 |
Retriever
Retriever は通常、ベクターストアまたはデータベースにアクセスしてデータを取得します。このデータは、LLM の応答の精度と効率を向上させるためにコンテキストを補足するために使用されます。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| 操作タイプ。これは LLM SpanKind に固有の列挙です。Retriever の場合、値は必ず | 文字列 |
| 必須 |
| 取得のための短いクエリ文字列。 | 文字列 |
| 推奨 |
| 取得されたドキュメントのリスト。 | JSON 配列 |
| 必須 |
Reranker
Reranker は、クエリ内容との関連性に基づいて複数の入力ドキュメントをソートし、LLM のために上位 K 個のドキュメントを返すことがあります。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| 操作タイプ。これは LLM SpanKind に固有の列挙です。Reranker の場合、値は必ず | 文字列 |
| 必須 |
| Reranker リクエストの入力パラメーター。 | 文字列 |
| 任意 |
| Reranker が使用するモデルの名前。 | 文字列 |
| 任意 |
| リランキング後のランク。 | 整数 |
| 任意 |
| リランキングのための入力ドキュメントに関連するメタデータ。これは JSON 配列です。メタデータには、パス、ファイル名、ソースなどの基本的なドキュメント情報が含まれます。 | 文字列 | - | 必須 |
| リランキング後の出力ドキュメントに関連するメタデータ。これは JSON 配列です。メタデータには、パス、ファイル名、ソースなどの基本的なドキュメント情報が含まれます。 | 文字列 | - | 必須 |
LLM
LLM スパンは、SDK または OpenAPI を使用した推論やテキスト生成のリクエストなど、大規模モデルへの呼び出しを識別します。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| 操作タイプ。これは LLM SpanKind に固有の列挙です。LLM の場合、値は必ず | 文字列 |
| 必須 |
| 操作のサブタイプ。 | 文字列 |
| 任意 |
| プロンプトテンプレート。 | 文字列 |
| 任意 |
| プロンプトテンプレートの特定の値。 | 文字列 |
| 任意 |
| プロンプトテンプレートのバージョン番号。 | 文字列 |
| 任意 |
| large モデルのプロバイダー。 | 文字列 |
| 必須 |
| LLM 呼び出しの入力パラメーター。 | 文字列 |
| 任意 |
| モデル名。 | 文字列 |
| 任意 |
| 会話の一意の ID。イベントトラッキングでセッション ID を容易に取得できる場合は、これを収集すべきです。 | 文字列 |
| 条件付きで必須 |
| LLM リクエストで指定された出力タイプ。これが利用可能で、リクエストが出力フォーマットなどのタイプを指定する場合、収集されるべきです。 | 文字列 |
| 条件付き必須 |
| LLM にリクエストされた候補生成の数。 | 整数 |
| 条件が満たされ、値が 1 ではない場合に必須です |
| LLM リクエストで指定されたモデル名。 | 文字列 |
| 必須 |
| LLM リクエストで指定されたシード。 | 文字列 |
| 条件付き必須 |
| LLM リクエストで設定された頻度ペナルティ。 | 浮動小数点 |
| 推奨 |
| LLM リクエストで指定されたトークンの最大数。 | 整数 |
| 推奨 |
| LLM リクエストで設定された存在ペナルティ。 | 浮動小数点 |
| 推奨 |
| LLM リクエストで指定された温度。 | 浮動小数点 |
| 推奨 |
| LLM リクエストで指定された top_p 値。 | 浮動小数点 |
| 推奨 |
| LLM リクエストで指定された top_k 値。 | フロート |
| 推奨 |
| 応答がストリーミングされるかどうかを示します。この属性が存在しない場合、値は false と見なされます。 | ブール値 |
| 推奨 |
| LLM の停止シーケンスです。 | String[] |
| 推奨 |
| ツールの呼び出しの内容。 | 文字列 |
| 推奨 |
| LLM によって生成された一意の ID。 | 文字列 |
| 推奨 |
| LLM 生成に使用されるモデル名。 | 文字列 |
| 推奨 |
| LLM が生成を停止した理由。 | String[] |
| 推奨 |
| ストリーミング シナリオにおける大規模モデル自体の最初のトークンまでの時間です。これは、サーバーがユーザーリクエストを受信してから最初のパケットが返されるまでの、クエリに対する全体的な応答の最初のパケットのレイテンシを表します。単位はナノ秒です。 | 整数 |
| 推奨 |
| 推論モデルの推論時間。応答推論プロセスの所要時間を表します。単位はミリ秒です。 | 整数 |
| 推奨 |
| 入力に使用されたトークンの数です。 | 整数 |
| 推奨 |
| 出力に使用されるトークンの数です。 | 整数 |
| 推奨 |
| 使用されたトークンの総数。 | 整数 |
| 推奨 |
| モデルの入力コンテンツへのリンク。 | 文字列 |
| 推奨 |
| モデルの出力コンテンツへのリンク。 | 文字列 |
| 推奨 |
| システムプロンプトのコンテンツへのリンクです。これは、システムプロンプト (/system 命令) のコンテンツへの外部リンクを個別に記録するために使用されます。システムプロンプトのコンテンツを個別に取得できる場合は、このフィールドを使用して記録します。システムプロンプトのコンテンツがモデル呼び出しの一部である場合は、 | 文字列 |
| 利用できる場合は推奨 |
| モデルの入力内容。メッセージは、モデルまたはエージェントに送信された順序で提供されなければなりません。 デフォルトでは、ユーザーが明示的にそれを有効にしない限り、この情報は収集されるべきではありません。 | 文字列 |
| 任意 |
| モデルの出力内容。メッセージは、モデルまたはエージェントに送信された順序で提供する必要があります。 デフォルトでは、ユーザーが明示的に有効にしない限り、この情報は収集されるべきではありません。 | 文字列 |
| 任意 |
| システムプロンプトのコンテンツです。これは、システムプロンプト (/system 命令) のコンテンツを JSON 文字列として個別にレコードするために使用されます。システムプロンプトのコンテンツを個別に取得できる場合は、このフィールドを使用してレコードします。システムプロンプトのコンテンツがモデル呼び出しの一部である場合は、 デフォルトでは、ユーザーが明示的に有効にしない限り、この情報は収集してはいけません。 | 文字列 |
| 任意 |
| 推論モデルからの推論コンテンツです。これは、応答推論プロセスのコンテンツを表します。デフォルトの長さは 1,024 文字に制限されています。この制限を超えるコンテンツは切り捨てられます。 | 文字列 |
| 任意 |
Embedding
Embedding スパンは、テキスト埋め込みモデルでの操作など、埋め込みプロセスを識別します。この埋め込みは、後で類似性クエリに基づいて質問を最適化するために使用できます。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| 操作タイプ。これは LLM SpanKind に固有の列挙です。Embedding の場合、値は必ず | 文字列 |
| 必須 |
| 入力テキストのトークン消費量。 | 整数 |
| 任意 |
| 埋め込みの合計トークン消費量。 | 整数 |
| 任意 |
| 埋め込みモデルの名前。 | 文字列 |
| 任意 |
| 埋め込み結果。 | 文字列 | - | 任意 |
Tool
Tool スパンは、電卓の呼び出しや天気 API から最新の気象条件をリクエストするなど、外部ツールへの呼び出しを識別します。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| 操作タイプ。これは LLM SpanKind に固有の列挙です。Tool の場合、値は必ず | 文字列 |
| 必須 |
| ツール名。 | 文字列 |
| 必須 |
| ツールの説明。 | 文字列 |
| 必須 |
| ツールの入力パラメーター。 | 文字列 |
| 必須 |
Agent
Agent はエージェントシナリオを表します。これは、LLM の推論結果に基づいて次のステップを決定する、より複雑な Chain です。たとえば、LLM と Tool への複数の呼び出しを含み、最終的な回答を生成するために段階的に決定を下す場合があります。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| 操作タイプ。これは LLM SpanKind に固有の列挙です。Agent の場合、値は必ず | 文字列 |
| 必須 |
| 入力パラメーター。元の入力を記録します。 | 文字列 |
| 必須 |
| 入力の MIME タイプです。 | 文字列 |
| 任意 |
| 返される結果。最終的な出力を返します。 | 文字列 |
| 必須 |
| 出力の MIME タイプです。 | 文字列 |
| 任意 |
| エージェントの最初のトークンまでの時間です。これは、サーバーがユーザーリクエストを受信してから、クエリに対する応答全体の最初のパケットが返されるまでの遅延時間(レイテンシー)を表します。単位はナノ秒です。 | 整数 |
| 推奨 |
Task
Task スパンは、カスタムロジックを適用するためにローカル関数を呼び出すなど、内部のカスタムメソッドを識別します。
属性
属性キー | 説明 | タイプ | 例 | 要件レベル |
| 操作タイプ。これは LLM SpanKind に固有の列挙型です。Task の場合、値は 必ず | 文字列 |
| 必須 |
| 入力パラメーター。 | 文字列 | カスタム JSON フォーマット | 任意 |
| 入力の MIME タイプです。 | 文字列 |
| 任意 |
| 出力の MIME タイプです。 | 文字列 |
| 任意 |