- カスタム分析や可視化のためにメトリクスをスプレッドシートやノートブックに取り込む。
- 評価結果を CI/CD パイプラインにフィードしてデプロイメントを制御する。
- Looker などの BI ツールや、W&B seat を持っていないステークホルダー向けの社内ダッシュボードを通じて結果を共有する。
- 複数の project にわたるスコアを集計する自動レポートパイプラインを構築する。
使用する API エンドポイント
このページのスニペットでは、v2 Evaluation REST API の次のエンドポイントを使用します。GET /v2/{entity}/{project}/evaluation_runs: project 内の評価 run を一覧表示します。評価 ref、モデル参照、または run ID によるフィルターを任意で指定できます。GET /v2/{entity}/{project}/evaluation_runs/{evaluation_run_id}: 単一の評価 run を読み取り、モデル、評価 ref、ステータス、タイムスタンプ、サマリーを取得します。POST /v2/{entity}/{project}/eval_results/query: 1 つ以上の評価について、グループ化された評価結果の行を取得します。行ごとの試行を、モデル出力、スコア、および任意で解決済みのデータセット行の入力とともに返します。リクエストに応じて、集計された Scorer の統計も返します。GET /v2/{entity}/{project}/predictions/{prediction_id}: 個々の予測を、入力、出力、モデル参照とともに読み取ります。
api、パスワードには W&B APIキーを指定します。
前提条件
このページのサンプルはPythonを使用しますが、Evaluation REST APIは言語に依存しません:TypeScriptや任意のHTTPクライアントから同じエンドポイントを呼び出すことができます。 開始する前に、以下を用意してください:- Python 3.7以降。
requestsライブラリ。pip install requestsでインストールします。- APIキー。
WANDB_API_KEY環境変数として設定します。CoreWeave Forge UI でキーを取得してください。
認証を設定する
次のスニペットでは、このページ全体で使用するライブラリをインポートし、ベース URL、認証タプル、対象の entity と project を設定します。以降のすべての例では、これらの変数を再使用します。評価 run の一覧を取得する
エクスポートのワークフローでは、通常、最初に評価 run の一覧が必要です。他のエンドポイントで必要なevaluation_run_id の値を取得できるためです。project 内の最近の評価 run を取得し、各 run の ID やステータスなどの詳細を一覧表示します。
単一の評価 run を読み取る
evaluation_run_id を取得したら、その run の完全なレコードを取得できます。モデル、評価 ref、ステータス、タイムスタンプなど、特定の評価 run の詳細を取得します。[EVALUATION_RUN_ID] を、取得する評価 run の ID に置き換えてください。
予測とスコアを取得する
スプレッドシートへのエクスポートや行単位の分析など、run の元データが必要な場合は、eval_results/query エンドポイントを使用して評価 run の行ごとの結果を取得します。各行には、データセット入力、モデル出力、個々の Scorer の結果が含まれます。行ごとの詳細をすべて取得するには、include_rows、include_raw_data_rows、resolve_row_refs を設定します。[EVALUATION_RUN_ID] を、クエリする評価 run の ID に置き換えてください。
集計スコアを取得する
ダッシュボードや CI/CD のゲート判定などで概要レベルのメトリクスのみが必要な場合は、行ごとのデータではなくサマリー統計をリクエストしてください。同じeval_results/query エンドポイントで、行ごとのデータではなく集計された Scorer の統計を返すこともできます。include_summary を設定すると、二値 Scorer の合格率や連続値 Scorer の平均値など、サマリーレベルのメトリクスを取得できます。
単一の予測を読み取る
予期しないスコアを調査する場合など、単一の行を個別に確認するには、ID を指定して予測を直接取得できます。入力、出力、モデル参照を含む、個々の予測の詳細をすべて取得します。[PREDICTION_ID] を取得したい予測の ID に置き換えてください。
行のダイジェスト
各エンドポイントが返す生データに加えて、eval_results/query の応答には、run 間で行を関連付けるための追加の識別子が含まれます。eval_results/query エンドポイントの各結果行には row_digest が含まれます。これは、評価データセット内の特定の入力を、位置ではなく内容に基づいて一意に識別するコンテンツハッシュです。行のダイジェストは、次の用途に役立ちます。
- 評価間の比較: 同じデータセットで 2 つの異なるモデルを実行した場合、同じダイジェストを持つ行は同じ入力を表します。
row_digestをキーに結合することで、まったく同じタスクに対する異なるモデルの性能を比較できます。 - 重複排除: 同じタスクが複数の評価スイートに含まれている場合、ダイジェストを使用してそのタスクを識別できます。
- 再現性: ダイジェストは内容に基づく識別子なので、誰かがデータセットの行を変更すると (指示文、評価基準、その他のフィールドを変更すると) 、新しいダイジェストが割り当てられます。2 つの評価 run が同一の入力を使用したか、異なるバージョンを使用したかを確認できます。