Skip to main content
これは対話型ノートブックです。ローカルで実行するか、以下のリンクを使用できます:

サードパーティシステムからのトレースのインポート

このノートブックでは、CSV ファイルから過去の会話トレースを W&B Weave にインポートする方法を紹介します。これにより、Weave でインストルメントされるアプリケーションの外部で生成されたデータを分析したり、モデル動作を比較したり、評価を実行したりできます。 Python または JavaScript のコードを Weave インテグレーションでインストルメントして GenAI アプリケーションのリアルタイムトレースを取得できない場合があります。こうしたトレースは、後で CSV または JSON 形式で入手できることがよくあります。 このノートブックでは、低レベルの Weave Python API を使用して CSV ファイルからデータを抽出して Weave にインポートし、分析および評価できるようにします。 このクックブックで想定するサンプルデータセットの構造は次のとおりです:
このノートブックでの import の決定を理解するために、Weave トレースには 1:Many で連続した親子関係があることを思い出してください。1 つの親は複数の子を持つことができ、その親自体が別の親の子になることもあります。 このノートブックでは、完全な会話をログする機能を提供するために、親の識別子として conversation_id を、子の識別子として turn_index を使用します。 ご自身のデータセット、ファイルパス、および Weights & Biases project に合わせて、以下のセクションの変数を変更する必要があります。

環境を設定する

必要なパッケージをすべてインストールしてインポートします。 wandb.login() でログインできるように、環境変数 WANDB_API_KEY を設定します (Colab ではシークレットとして登録してください) 。 Colab にアップロードするファイルの名前を name_of_file に、ログする先の Weights & Biases の project を name_of_wandb_project に設定します。
name_of_wandb_project を [TEAM_NAME]/[PROJECT_NAME] の形式で指定すると、トレースをログする先のチームも指定できます。
次に、weave.init() を呼び出して Weave クライアントを取得します。

データを読み込む

環境の準備ができたら、CSV データを読み込み、Weave が想定する親子構造に合わせて整形します。 データを pandas DataFrame に読み込み、conversation_id と turn_index で並べ替えて、親と子が正しい順序で並ぶようにします。 その結果、会話のターンが conversation_data 列に配列として格納された、2 列の pandas DataFrame が得られます。

トレースを Weave にログする

データを会話とターンに整形したら、次のステップでは、それらのレコードを親 Call と子 Call として Weave に書き込みます。 pandas データフレームを反復処理します。
  • conversation_id ごとに親 Call を作成します。
  • ターンの配列を反復処理して、turn_index 順に並べた子 Call を作成します。
低レベルの Python API の重要な概念:
  • Weave の Call は Weave のトレースに相当します。この Call には親や子を関連付けることができます。
  • Weave の Call には、フィードバックやメタデータなども関連付けることができます。この例では入力と出力のみを関連付けますが、データにこれらの項目が含まれていれば、インポート時に追加できます。
  • Weave の Call はリアルタイムで追跡することを想定しているため、created と finished の状態を持ちます。今回は事後のインポートなので、オブジェクトを定義して相互に関連付けた後に、作成と終了を行います。
  • Call の op 値は、同じ構成の Call を Weave が分類するために使用します。この例では、すべての親 Call は Conversation タイプ、すべての子 Call は Turn タイプです。必要に応じて変更できます。
  • Call は inputs と output を持つことができます。inputs は作成時に定義し、output は Call の終了時に定義します。

結果: Weave にログされたトレース

これで、CSV データが Weave にインポートされました。Weights & Biases UI で、定義した Conversation および Turn オペレーションごとにまとめられた会話とそのターンを閲覧できます。 トレース:
Weights & Biases UI にインポートされた会話のトレース
オペレーション:
Weights & Biases UI の Conversation および Turn オペレーション

オプション: トレースをエクスポートして評価を実行する

トレースが Weave に保存され、会話の内容を把握したら、別のプロセスにエクスポートして Weave Evaluations を実行できます。
Weave プロジェクトからのトレースのエクスポート
これを行うには、クエリ API を通じて W&B からすべての会話を取得し、それらからデータセットを作成します。

結果

エクスポートしたデータセットが Weave にパブリッシュされ、評価の入力として使用する準備が整いました。
Weights & Biases UI に表示されたパブリッシュ済みのデータセット。評価に使用する準備が整っています
評価の詳細については、新しく作成したデータセットを使用して RAG アプリケーションを評価する方法を説明したクイックスタートを参照してください。
最終更新日 2026年9月30日