Skip to content

データセットと実験

バージョン管理された評価データセットを構築し、エージェントの出力を継続的に採点する実験を実行します。Potato の評価基盤です。ファイルまたは SQLite ストレージ、タグ付きバージョン、スプリット、SFT/DPO エクスポート、退行の差分を並べて表示する実験比較を備えています。

データセットと実験は Potato の評価基盤です。バージョン管理された評価例のコレクションと、それをプログラマティック評価器で採点する実験の実行です。 両者を組み合わせることで、Potato は「一度アノテーションして終わり」から「継続的に評価する」ツールになります。テスト・セットをキュレーションし、評価器を実行し、プロンプトやモデルのバージョンをまたいでスコアを追跡します。

有効化

yaml
datasets:
  enabled: true
  storage: file   # "file" (default, git-diffable JSONL) | "sqlite"

データセット

データセットは、名前付きのidinputs、任意の reference_outputsmetadatasplit)のコレクションです。追加・更新・削除のたびに、新しい不変のバージョンv0001v0002、…)が作られます。バージョンにはタグを付けられ(例:prod)、読み取りは as_oflatest、タグ、またはバージョン ID)でバージョンを固定できます。

例のキュレーション方法は3つあります。

  • 稼働中のタスクからImport loaded instances は、タスクのインスタンスを例に変換します。
  • 取り込まれたトレースのみからImport ingested traces(webhook / LangSmith / Langfuse)。
  • 人間のアノテーションを参照として — スキームごとの多数決の人間ラベルを集約し、各例の reference_outputs に入れます。

実験

実験は、データセットのあるバージョンに対して評価器を実行し、例ごとの結果と集計スコアを記録します。概要ページでデータセットと評価器を選んで Run するか、POST /datasets/api/experiments/run を呼びます。2つ以上の実験を選択して Compare すると、集計スコアが並べて表示され、ベースラインとの差分によって退行が一目でわかります。

LLM ジャッジの評価器は設定済みの AI エンドポイントを呼び出すため、大きなデータセットでは時間がかかることがあります。

ファインチューニング・データへのエクスポート

任意のデータセット・バージョンを、ファインチューニング用の JSONL としてエクスポートできます。

  • SFT{"prompt": <inputs>, "completion": <reference_outputs>}
  • DPO{"prompt": <inputs>, "chosen": <reference_outputs>, "rejected": <metadata.rejected | outputs>}
bash
curl -OJ "http://localhost:8000/datasets/api/datasets/agent-eval-v1/export?format=sft"

API

すべてのエンドポイントは管理者認証(X-API-Key ヘッダーまたは管理者セッション)を必要とします。

メソッドパス目的
POST/datasets/api/datasetsデータセットを作成する
POST/datasets/api/datasets/<name>/examples例を追加する(新バージョン)
POST/datasets/api/datasets/<name>/tagバージョンにタグを付ける
GET/datasets/api/datasets/<name>/export?format=sft|dpoJSONL をエクスポートする
POST/datasets/api/experiments/run実験を実行する
GET/datasets/api/experiments実験を一覧する

評価管理 API(/admin/eval/...)は、これらのタスクのアノテーション・プロセスを検査・制御します。データセット/実験のステータス、インスタンスごとのアノテーション進捗、取り込まれたトレース数、割り当ての一時停止/再開です。

関連項目