continue_parent_trace=False) 、
Conversations タブにはターンごとに 1 つのトレースが表示されます。外側のトレースがすでに
アクティブな状態で、エージェントの invocation をその中にネストしたい場合は、Conversation (または Turn に直接) で
continue_parent_trace=True を設定します。たとえば、fastapi でインストルメントされた
リクエスト内で実行する場合などが該当します。
Turn は Pydantic モデルです。インスタンスを作成する際に、以下の任意のフィールドをキーワード引数として指定できます。
Turn はコンテキストマネージャーであり、with ステートメントで使用できます。
フィールド
メソッド
user
start_llm
_current_llm contextvar を設定します。これにより、コンテキストマネージャーを使用するかどうかにかかわらず、
get_current_llm() から LLM を参照できます。
start_tool
start_subagent
record
system_instructions、agent_id、
…) を、1 回のキーワード引数呼び出しにまとめます。明示的に渡された
(None 以外の) フィールドのみが適用され、既存の値は保持されます。
messages と output_messages は、それぞれ独立してターンの
既存の入力メッセージと出力メッセージを置き換えます。この点で、入力メッセージを 1 件追加する
Turn.user(...) とは異なります。メソッドチェーン用に
self を返します。LLM.record に対応するメソッドです。
注: ストリーミング (with) パスでは、ターンのスパン名は __enter__ 時点の
agent_name に基づいて決まります。そのため、スパン名に反映させたい場合は、agent_name を
record ではなく start_turn で設定してください。なお、record でも gen_ai.agent.name
属性は更新されます。
end
start
record_error
end() を呼び出します。
set_attributes
span.set_attributes({"weave.tag": "value"}) のように呼び出します。OTel の
Span.set_attributes と同じ仕様です。
start_* ファクトリ、start()、または with によってスパンが開始された後、
スパンが終了する前に呼び出す必要があります。この期間外に呼び出した場合は
no-op となり、警告がログに記録されます。バッチ取り込みの場合は、オブジェクトの宣言済みフィールドに直接値を設定し、
log_turn / log_conversation に渡してください。