Weaveでのトレーシングの詳細については、以下を参照してください OTELトレースをWeaveに送信する.
前提条件
始める前に、必要なOTEL依存関係をインストールしてください:WeaveでOTELトレースを設定する
PydanticAIからWeaveにトレースを送信するには、OTELをTracerProvider
とOTLPSpanExporter
で設定します。エクスポーターを認証とプロジェクト識別のための正しいエンドポイントとHTTPヘッダーに設定します。
APIキーやプロジェクト情報などの機密性の高い環境変数は、環境ファイル(例:
.env
)に保存し、os.environ
を使用してロードすることをお勧めします。これにより、認証情報を安全に保ち、コードベースから分離することができます。必要な設定
- Endpoint:
https://trace.wandb.ai/otel/v1/traces
- Headers:
Authorization
:W&B APIキーを使用した基本認証project_id
:W&Bのエンティティ/プロジェクト名(例:myteam/myproject
)
セットアップ例
以下のコードスニペットは、PydanticAIアプリケーションからWeaveにOTELトレースを送信するためのOTLPスパンエクスポーターとトレーサープロバイダーを設定する方法を示しています。OTELでPydanticAIエージェントをトレースする
PydanticAIエージェントをトレースしてトレースデータをWeaveに送信するには、InstrumentationSettings
オブジェクトをトレーサープロバイダーで設定してAgent constructor
に渡します。これにより、すべてのエージェントとツールの呼び出しがOTEL設定に従ってトレースされます。
以下の例は、トレースを有効にした簡単なエージェントを作成する方法を示しています。重要なステップは、エージェントを初期化するときにinstrument引数を設定することです:

OTELでPydanticAIツールをトレースする
WeaveはOTELで計測されたPydanticAIの操作をすべてトレースできます。これにはエージェントとツールの呼び出しの両方が含まれます。つまり、エージェントがツール(例えば@agent.tool_plain
でデコレートされた関数)を呼び出すとき、ツールの入力、出力、モデルの推論を含む相互作用全体がキャプチャされ、Weaveで視覚化されます。
以下の例は、システムプロンプトとツールを持つエージェントを作成する方法を示しています。トレースはエージェントとツールの両方に対して自動的に有効になります:

すべてのエージェントをデフォルトで計測する
アプリケーション内のすべてのPydanticAIエージェントにOTELトレースを適用するには、Agent.instrument_all()
メソッドを使用します。これにより、InstrumentationSettings
パラメータを明示的に指定しないエージェントに対してデフォルトのinstrument
インスタンスが設定されます。