評価データセットは、モデルまたはエージェントの品質を測定するためのテスト ケースの再利用可能なコレクションです。 評価データセットでは通常、JSONL が使用され、1 行に 1 つの JSON オブジェクトが含まれます。 この記事では、再利用可能なデータセットを使用するタイミング、評価データの編成方法、および使用可能な準備方法について説明します。
評価データセットが必要ですか?
さまざまなモデル、プロンプト、またはエージェント のバージョンに対して再実行できる安定したテスト セットが必要な場合は、データセットを作成します。 再利用可能なデータセットは、回帰テスト、CI/CD 品質ゲート、評価実行間の比較に適しています。
データセットは必ずしも必要とは限りません。 Foundry エージェントに既に応答がある場合、またはアプリケーションが Application Insights にトレースを出力している場合は、そのデータが存在する場所を評価できます。 応答 ID による相互作用の評価とトレースの評価を参照してください。
Foundry が評価データを使用する方法
JSONL データセットでは、 messages フィールドはモデルまたはエージェントの相互作用を表します。 各メッセージは、ロールとその内容を識別します。
データセットに完了した応答が含まれている場合、Foundry はこれらの応答を直接評価します。 モデルまたはエージェントに対して評価を実行すると、Foundry は入力ごとに新しい応答を生成し、その応答を評価します。 データセットに既に格納されている応答は無視されます。
たとえば、サインインできないユーザーを考えてみましょう。 エージェントは、表示されるエラーを確認し、ユーザーは自分のパスワードが拒否されたことを示し、エージェントはパスワードのリセットを推奨します。 ターンレベル評価では、前のメッセージをコンテキストとして使用して、パスワード リセット ガイダンスなどの個々のエージェント応答をスコア付けします。 会話レベルの評価では、完全な相互作用がスコア付けされます。
実行の evaluation_level 設定によって、スコアリングの粒度が制御されます。
データセットと選択したエバリュエーターは、そのレベルをサポートする必要があります。 詳細については、「 評価レベルの選択」を参照してください。
標準の列と例については、「 評価データセットスキーマ」を参照してください。
評価データの準備方法を選択する
| 状況 | 推奨される方法 |
|---|---|
| 評価データをキュレーションしました | バージョン管理された Foundry データセットとしてアップロードするか、小さなデータセットをインラインで提供します。 「入力データの準備」を参照してください。 |
| 評価を実行する前に、生成されたテスト ケースを確認して再利用する必要がある | エージェント定義、インライン プロンプト、または参照ファイルから合成評価データセットを生成します。 |
| 運用環境のトラフィックに基づいて再利用可能なデータセットが必要です | トレースをデータセットに変換します。 |
| シミュレートされた複数ターンシナリオをテストする場合 | シミュレーション シード データセットを生成 するか、テスト ケース シナリオを JSONL として作成し、 会話をシミュレートします。 |
| Foundryのレスポンス ID があります | データセットを作成せずに、応答 ID で対話を評価します。 |
| 既存の Application Insights トレースを評価する | データセットを作成せずにトレースを評価します。 |
| クエリを生成し、ターゲットを呼び出して、その応答を 1 つのワークフローで評価する場合 | 評価の実行中に合成クエリを生成します。 Foundry は、生成されたクエリを再利用するためのデータセットとして保存します。 |