Skip to main content
これらには tracing モジュールからアクセスできます:

start_conversation

会話を作成して有効化します。モジュールをまたいでアクセスできるよう、contextvar を設定します。 attributes は、この会話が出力するすべてのスパンに付与されます (たとえば weave.integration.* のようなインテグレーションのアイデンティティ) 。semconv 以外の カスタムキーを使用してください。セマンティック規約のフィールドは、型付きの params (conversation_name、model など) で設定します。スパン自身の gen_ai.* / weave.* 属性と衝突するキーはサポートされていません。どちらの値が 優先されるかは、処理経路 (ストリーミングか log_turn か) によって異なります。

start_turn

ターンを作成してアクティブにします。現在の会話がある場合は、その会話を使用します。 スパンを開始し、現在のスパンとして設定します。会話がない場合、ターンに会話 ID は設定されません。end_turn()、end()、または with で終了します。

start_llm

LLM Call を作成してアクティブ化します。現在のターンがある場合はそれを使用します。 実行中のターンがない場合でも、スパンを開始して現在のスパンに設定します。 provider_name は明示的に渡してください。SDK はモデル識別子からこの値を推測しません。 接頭辞に基づいて推測すると、ユーザーのファインチューン (たとえば text-... という名前のモデル) のプロバイダーを誤って判定してしまいます。また、将来のモデル名に関する想定がテレメトリに組み込まれてしまい、後から修正するには多大なコストがかかります。

start_tool

ツール実行スパンを作成して開始します。 Tool の OTel スパンは、OTel コンテキストで現在アクティブなスパン (Turn スパンが実行中であれば、通常はその Turn スパン) の子として自動的に設定されます。ターンを明示的に委譲する必要はありません。親子関係は、Conversation SDK の contextvar ではなく、OTel コンテキストを介して伝播されます。

start_subagent

サブエージェントの invocation スパンを作成して開始します。 SubAgent の OTel スパンは、OTel コンテキストで現在アクティブなスパンの子として自動的に設定されます。 通常は、実行中の Turn スパンがあれば、その子になります。 構成は start_tool と同じです。親子関係の伝播は OTel コンテキストが処理するため、明示的な委譲は不要です。

end_conversation

現在の会話 (contextvar から取得) を終了します。

end_turn

現在のターン (contextvar から取得) を終了します。

end_llm

現在の LLM Call (contextvar から取得) を終了します。

get_current_conversation

contextvar からアクティブな会話を返します。存在しない場合は None を返します。

get_current_turn

contextvar から現在アクティブなターンを返します。存在しない場合は None を返します。

get_current_llm

contextvar から現在アクティブな LLM Call を返します。存在しない場合は None を返します。
最終更新日 2026年9月30日