Skip to main content
これはインタラクティブなノートブックです。ローカルで実行するか、以下のリンクから利用できます。

Weave との統合: 本番ダッシュボード

このノートブックでは、Weave の Traces ビューを拡張する本番モニタリング用のカスタムダッシュボードを、Weave の API と関数を使用して作成する方法を紹介します。このガイドは、本番環境で LLM アプリケーションを運用し、デフォルトの Traces ビューでは得られない、パフォーマンス、コスト、ユーザーのフィードバックに関する独自の情報を把握したい開発者や ML エンジニアを対象としています。このノートブックでは、次の内容を扱います。
  • Weave からトレース、コスト、フィードバック、その他のメトリクスを取得します。
  • ユーザーのフィードバックとコスト分布の集計ビューを作成します。
  • トークン使用量とレイテンシーの経時変化を可視化します。
このノートブックを完了すると、Weave プロジェクトのトレースデータ、コスト、フィードバックを単一のビューに集約する、動作可能なカスタムダッシュボードが完成します。streamlit をインストールして本番ダッシュボードのスクリプトを実行すると、自分の Weave プロジェクトでダッシュボードを試すことができます。 Weave での本番ダッシュボードの例

セットアップ

まず、次のパッケージをインストールします。

Implementation

以下のセクションでは、Weave クライアントの初期化、Call データの取得、およびダッシュボード用の可視化の生成について説明します。

Weave クライアントを初期化し、コストを定義する

まず、Weave クライアントを初期化し、各モデルのコストを追加する関数を設定します。このステップは、後続のコストクエリで各呼び出しにトークンあたりの料金を割り当てるために必須です。 W&B には多くの標準モデルの標準コストが含まれており、独自のカスタムコストやカスタムモデルも追加できます。次の例では、いくつかのモデルにカスタムコストを追加し、残りのモデルには標準コストを使用する方法を示します。 コストは、Weave で各呼び出しについて追跡されたトークンに基づいて計算されます。多くの LLM ベンダーのライブラリでは、Weave がトークン使用量を自動的にトラッキングしますが、任意の呼び出しでカスタムのトークン数を返すこともできます。カスタムモデルのトークン数とコスト計算の定義について詳しくは、カスタムコストのクックブックを参照してください。

Weave から Call データをフェッチする

クライアントの初期化とコストの設定が完了したら、次のステップは Weave から Call データをプルすることです。Call データをフェッチするためのオプションは 2 つあります。
  • データを Call ごとにフェッチする。
  • 高レベル API を使用する。
以下のセクションで各オプションについて説明します。

Call ごとにデータを取得する

Weave からデータにアクセスする 1 つ目の方法は、フィルター処理した Call の一覧を取得し、必要なデータを Call ごとに抽出する方法です。そのためには、calls_query_stream API を使用して Weave から Call データを取得します。
  • calls_query_stream API: Weave から Call データを取得する API です。
  • filter 辞書: Call データの取得に使用するフィルターパラメーターを格納する辞書です。詳細については、CallSchema リファレンスを参照してください。
  • expand_columns リスト: Call データ内で展開する列を格納するリストです。
  • sort_by リスト: Call データの並べ替えパラメーターを格納するリストです。
  • include_costs ブール値: Call データにコストを含めるかどうかを指定するブール値です。
  • include_feedback ブール値: Call データにフィードバックを含めるかどうかを指定するブール値です。
Weave から返された値を使用して Call を処理します。必要な情報を抽出し、辞書のリストに格納します。その後、辞書のリストを pandas DataFrame に変換して返します。

高レベル API を使用する

Weave には、すべての Call を 1 つずつ確認しなくても、モデルのコスト、フィードバック、その他のメトリクスに直接アクセスできる高レベル API も用意されています。 たとえばコストの場合は、query_costs API を使用して、project 内で使用されているすべての LLM のコストを取得します。

入力の収集と可視化の生成

call のデータとコストがデータフレームとして利用可能であれば、plotly を使用して可視化を生成できます。これはお好みでカスタマイズできるスターターダッシュボードです。より高度な例については、knowledge-worker-weave リポジトリ内の Streamlit の例 をご確認ください。

まとめ

このクックブックでは、Weave の API と関数を使用して、カスタムの本番モニタリングダッシュボードを作成する方法を紹介しました。Weave は、データをスムーズに取り込み、カスタムプロセス向けにデータを抽出できる、手軽なインテグレーションを重視しています。
  • データ入力:
    • @weave-op() デコレーターによるフレームワークに依存しないトレースと、CSV から Call をインポートするオプション (関連するインポートのクックブックを参照してください) 。
    • さまざまなプログラミングフレームワークや言語から Weave にログするためのサービス API エンドポイント。詳細については、サービス API リファレンスを参照してください。
  • データ出力:
    • CSV、TSV、JSONL、または JSON 形式でデータをダウンロードできます。詳細については、サービス API リファレンスを参照してください。
    • プログラムからデータにアクセスしてエクスポートできます。このクックブックで説明したとおり、エクスポートパネルの「Use Python」セクションを参照してください。詳細については、Call のクエリとエクスポートを参照してください。
このカスタムダッシュボードは、Weave 標準の Traces ビューを拡張し、本番環境の LLM アプリケーションをニーズに合わせてモニタリングできるようにします。より複雑なダッシュボードについては、agent-dev-collection リポジトリの Streamlit の例をご覧ください。独自の Weave プロジェクトの URL を追加して利用できます。
最終更新日 2026年9月30日