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

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

GenAIツールの状況は急速に進化しています - 新しいフレームワーク、ツール、アプリケーションが次々と登場しています。WeaveはあなたのすべてのGenAIモニタリングと評価のニーズに対応するワンストップショップを目指しています。これはまた、既存のプラットフォームと統合したり、プロジェクトや組織の特定のニーズに合わせてWeaveを拡張したりする必要がある場合もあることを意味します。 このクックブックでは、WeaveのパワフルなAPIと機能を活用して、Weaveのトレースビューの拡張として本番環境モニタリング用のカスタムダッシュボードを作成する方法を紹介します。以下に焦点を当てます:
  • Weaveからトレース、コスト、フィードバック、その他のメトリクスを取得する
  • ユーザーフィードバックとコスト分布の集計ビューを作成する
  • トークン使用量とレイテンシーの時間経過に伴う可視化を作成する
streamlitをインストールして実行することで、あなた自身のWeaveプロジェクトでこのダッシュボードを試すことができますこの本番環境ダッシュボードスクリプト! Example Production Dashboard with Weave

1. セットアップ

このチュートリアルを進めるには、以下のパッケージをインストールするだけで済みます:

2. 実装

2.1 Weaveクライアントの初期化とコストの定義

まず、Weaveクライアントを初期化し、各モデルのコストを追加する関数を設定します。
  • 多くの標準モデルの標準コストを含めていますが、独自のカスタムコストやカスタムモデルを簡単に追加することもできます。以下では、いくつかのモデルにカスタムコストを追加し、残りには標準コストを使用する方法を示します。
  • コストはWeaveで追跡される各呼び出しのトークンに基づいて計算されます。多くのLLMベンダーライブラリでは、トークン使用量を自動的に追跡しますが、任意の呼び出しにカスタムトークン数を返すことも可能です。カスタムモデルのトークン数とコスト計算を定義する方法については、このクックブックを参照してください - カスタムコストクックブック.

2.2 Weaveから呼び出しデータを取得する

Weaveから呼び出しデータを取得するには、2つの選択肢があります:
  1. 呼び出しごとにデータを取得する
  2. 高レベルAPIを使用する

2.2.1 呼び出しごとにデータを取得する

Weaveからデータにアクセスする最初の選択肢は、フィルタリングされた呼び出しのリストを取得し、呼び出しごとに必要なデータを抽出することです。そのためにcalls_query_stream APIを使用してWeaveから呼び出しデータを取得できます:
  • calls_query_stream API: This API allows us to fetch the calls data from Weave.
  • filter dictionary: This dictionary contains the filter parameters to fetch the calls data - see here で詳細を確認できます。
  • expand_columns list: This list contains the columns to expand in the calls data.
  • sort_by list: This list contains the sorting parameters for the calls data.
  • include_costs boolean: This boolean indicates whether to include the costs in the calls data.
  • include_feedback boolean: This boolean indicates whether to include the feedback in the calls data.
Weaveからの戻り値を使って呼び出しを処理するのは非常に簡単です - 関連情報を抽出し、辞書のリストに保存します。その後、辞書のリストをpandas DataFrameに変換して返します。

2.2.2 高レベルAPIを使用する

すべての呼び出しを調べる代わりに、Weaveはモデルコスト、フィードバック、その他のメトリクスに直接アクセスするための高レベルAPIも提供しています。 例えば、コストについては、query_costs APIを使用してプロジェクトで使用されているすべてのLLMのコストを取得します:

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

次に、plotlyを使用して可視化を生成できます。これは最も基本的なダッシュボードですが、お好みにカスタマイズできます!より複雑な例については、Streamlitの例をhereで確認してください。

結論

このクックブックでは、WeaveのAPIと機能を使用してカスタム本番環境モニタリングダッシュボードを作成する方法を紹介しました。Weaveは現在、データの簡単な入力とカスタムプロセス用のデータ抽出のための迅速な統合に焦点を当てています。
  • データ入力:
    • フレームワークに依存しないトレースを@weave-op()デコレータで行い、CSVから呼び出しをインポートする可能性もあります(関連するimport cookbookを参照)
    • 様々なプログラミングフレームワークや言語からWeaveにログを記録するためのサービスAPIエンドポイント、詳細はhereを参照してください。
  • データ出力:
    • CSV、TSV、JSONL、JSON形式でのデータの簡単なダウンロード - 詳細はhereを参照してください。
    • プログラムによるデータへのアクセスを使用した簡単なエクスポート - このクックブックで説明されているエクスポートパネルの「Use Python」セクションを参照してください。詳細はhereを参照してください。
このカスタムダッシュボードはWeaveのネイティブトレースビューを拡張し、本番環境でのLLMアプリケーションのカスタマイズされたモニタリングを可能にします。より複雑なダッシュボードに興味がある場合は、あなた自身のWeaveプロジェクトURLを追加できるStreamlitの例をin this repoで確認してください。