重要
この記事でマークされている項目 (プレビュー) は、現在パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境のワークロードにはお勧めしません。 特定の機能がサポートされていないか、機能が制限されている可能性があります。 詳細については、「Microsoft Azure プレビューの使用条件を参照してください。
パフォーマンス、品質、安全性を測定する評価を実行して、生成 AI モデルとエージェントをテストします。 デプロイの前に評価を使用して動作を検証するか、デプロイ後に運用環境の品質を監視します。 評価では、テスト データに対してモデルまたはエージェントを実行し、組み込みエバリュエーターまたはカスタム エバリュエーターを使用して出力をスコア付けします。
この記事では、Foundry ポータルで評価を作成して実行する方法について説明します。
前提 条件
Azure サブスクリプション。 無料で作成できます。
Microsoft Foundry プロジェクト。 プロジェクトがない場合は プロジェクトを作成します。
評価対象に応じて、次のいずれかです。
- エージェントの評価: プロジェクト内のエージェント。
- モデルの評価: デプロイされたモデルまたはすぐにアクセスできるモデル。
- データセットの評価: 既存のモデルまたはエージェントの出力を含む CSV または JSONL 形式のテスト データセット。
デプロイされた GPT モデルとの Azure OpenAI 接続 (たとえば、
gpt-4.1-mini)。 AI 支援品質評価に必要です。Foundry プロジェクトのFoundry Userロール。 詳細については、Microsoft Foundry の
Role ベースのアクセス制御に関するページを参照してください。 重要
Foundry RBAC ロールの名前が最近変更されました。 Foundry User, Foundry Owner, Foundry Account Owner、および Foundry Project Manager は、以前は、AZURE AI ユーザー、Azure AI 所有者、Azure AI アカウント所有者、および AZURE AI Project Manager という名前でした。 名前の変更がロールアウトされている間、以前の名前が表示される場合があります。ロール ID とコア アクセス許可は、名前の変更によって変更されません。
評価方法を選択する
テスト対象に基づいて評価方法を選択します。
| ターゲット | Scope | データ ソース | 最適な用途 |
|---|---|---|---|
| Agent | 完全な会話 | シミュレートされたデータ | デプロイ前に合成シナリオでエンド ツー エンドのエージェント動作をテストする。 |
| Agent | 完全な会話 | 既存の会話 | 運用環境の品質を監視するための実際のユーザー操作の評価。 |
| Agent | 個々のターン | 既存のデータセット | 特定のエージェント応答のデバッグ、ツールの使用状況のテスト、詳細な分析。 |
| Agent | 個々のターン | 合成データ | 生成されたクエリを使用した単一ターン Q&A または RAG シナリオのテスト。 |
| Agent | 個々のターン | 既存のトレース | プロジェクト内の過去のエージェントトレースの評価 |
| Model | 個々のターン | 合成データ | 生成されたプロンプトを使用してモデルの完了をテストする。 |
| Model | 個々のターン | 既存のデータセット | 精選されたテスト セットに対するモデルのパフォーマンスのベンチマーク。 |
| データセット | 個々のターン | (データセットが対象) | モデルまたはエージェントを再実行せずに既存の出力を評価する。 |
Tip
エージェント>完全な会話>シミュレートされたデータから始めて、制御されたシナリオでエージェントの動作をテストします。 エージェントが運用環境に入ったら 、既存の会話 を使用して、実際のパフォーマンスを監視します。
評価を作成する
Foundry ポータルでは、いくつかの場所から評価を開始できます。
- [評価] ページ: 左側のウィンドウで[評価]>[作成]を選択します。
- [モデル] ページ: モデルに移動し、[ 評価 ] タブを選択し、[ 作成] を選択します。
- [エージェント] ページ: エージェントに移動し、[ 評価 ] タブを選択し、[ 作成] を選択します。
- エージェントのプレイグラウンド: エージェントに移動し、[プレイグラウンド] タブを選択し、[>] を選択します。
手順 1: 評価対象を選択する
評価を作成するときは、まず評価ターゲットを選択します。 ターゲットは、評価の実行対象を決定します。
| ターゲット | Description |
|---|---|
| Agent | 選択したエージェントとユーザー定義入力によって生成された出力を評価します。 プロンプト エージェントとホステッド エージェントの両方で機能します。 |
| Model | 選択したモデルとユーザー定義プロンプトによって生成された出力を評価します。 |
| データセット | テスト データセットから既存のモデルまたはエージェントの出力を評価します。 |
| Traces | Application Insights で既にキャプチャされているエージェントの相互作用を評価します。 エージェントと時間範囲を選択すると、ポータルは評価のために一致するトレースを取得します。 これに相当する SDK については、「 トレースの評価」を参照してください。 |
Tip
インスタント アクセス: インスタント アクセスは、デプロイを作成せずにすぐに使用できるデプロイのないモデルです。 評価を作成するときに、モデル ピッカーから直接、評価ターゲットまたはジャッジ モデルとしてインスタント モデルを選択できます。
手順 2: 評価スコープを選択する
メモ
この手順は 、エージェント ターゲットと データセット ターゲットにのみ表示されます。 モデル の評価では、常に個々のターンが使用されます。
エージェントのパフォーマンスを評価する方法を選択します。
| Scope | Description | 最適な用途 |
|---|---|---|
| 完全な会話 (プレビュー) | 開始から終了まで、マルチターン会話全体を評価します。 会話の全体的な品質、タスクの完了、ユーザーの満足度を測定します。 | エンド ツー エンドのエージェント エクスペリエンス、顧客満足度、会話フローをテストします。 |
| 個々のターン | 会話内の個々のエージェントの応答を評価します。 ツールの選択精度や応答品質などのターンごとのメトリックを測定します。 | 特定のエージェントの動作のデバッグ、ツールの使用状況のテスト、詳細な分析。 |
手順 3: データ ソースを選択する
データ ソースのオプションは、評価ターゲットとスコープによって異なります。
会話の評価 (エージェント > 完全な会話) の場合 (プレビュー)
会話データの取得元を選択します。
シミュレートされたデータ
データセットからのシナリオの説明に対してエージェントを実行して、合成会話を生成します。 このオプションを使用して、デプロイ前に制御されたシナリオでエージェントの動作をテストします。
[シミュレートされたデータ] を選択します。
[ 生成 ] を選択して、シミュレーション構成ダイアログを開きます。
ファイルを選択する: シナリオの説明を含むデータセットを選択します。 データセット内の各行には、シミュレートされた会話を生成するために使用するシナリオが記述されています。
モデルの選択: 会話のユーザーをシミュレートするモデルを選択します。
-
gpt-4.1(複雑なシナリオに推奨) gpt-4ogpt-4o-minigpt-4.1-mini
-
シミュレーション設定を構成します。
- シナリオごとのシミュレートされた会話の数: データセット内の各行に対して生成する会話の数 (1 から 5)。 シナリオごとに複数の会話を使用すると、エージェントの動作の差異を特定できます。
- 会話あたりのターン数: 会話ごとに許可される最大ターン数 (1 から 50)。 会話は、タスクが完了するか、この制限に達すると終了します。
[ 確認 ] を選択してシミュレーション構成を保存します。
既存の会話
エージェントがユーザーと既に持っていた実際の会話を評価します。
- [既存の会話] を選択します。
- フィルター オプションを構成する:
- 会話の数: 日付範囲からサンプリングする会話の最大数 (1 から 100)。
- 時間範囲: 会話を期間でフィルター処理します。 クイック フィルター (Last Day、7D、1M、3M) を使用するか、カスタムの日付範囲を選択します。
- 評価に含める特定の会話を閲覧して選択します。
個々のターンの評価の場合
評価データの取得元を選択します。
合成データ
AI を使用してテスト クエリを生成します。 [合成] を選択し、生成するデータを説明する行数とプロンプトを構成します。 関連性を高めるためにファイルをアップロードすることもできます。
メモ
合成データの生成には、Responses API 機能を備えたモデルが必要です。 可用性については、「 応答 API リージョンの可用性」を参照してください。
既存のデータセット
準備されたデータセットを CSV または JSONL 形式で使用します。 [既存のデータセット] を選択し、プロジェクトのデータ資産からファイルを選択します。 CSV ファイル形式と JSONL ファイル形式のみがサポートされています。
既存のトレース (エージェントのみ)
プロジェクト内の過去のエージェントトレースを評価します。 [既存のトレース] を選択し、日付範囲でフィルター処理してトレースを選択します。
マルチモーダル コンテンツ (プレビュー)
すべての評価ターゲットは、画像とオーディオのコンテンツをサポートします。 各コンテンツ タイプでは、特定の JSONL スキーマが使用されます。
画像の内容:
-
image_url: データ URI (data:image/png;base64,...など) またはパブリックにアクセス可能な URL としての画像。 -
caption: 画像コンテンツのテキストの説明。
{"image_url": "data:image/png;base64,iVBOR...", "caption": "A red to blue color gradient"}
オーディオ コンテンツ:
-
audio_data: base64 でエンコードされた WAV データ (たとえば、data:audio/wav;base64,...) を含むデータ URI としてのオーディオ。 -
expected: 予想されるオーディオ コンテンツのテキストの説明。
メモ
現在サポートされているのは WAV オーディオ形式のみです。
{"audio_data": "data:audio/wav;base64,UklGR...", "expected": "A short beep tone at 440 Hz"}
データセットでは、音声と画像のデータがデータ URI またはパブリックにアクセス可能な URL として 1 つのチャット メッセージ列に埋め込まれるチャット メッセージの会話形式を使用することもできます。
次の例は、画像とオーディオ コンテンツが埋め込まれた会話データセット列を示しています。
[
{
"role": "system",
"content": "..."
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "What are in these images?"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/path/image.png"
}
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgo..."
}
}
]
},
{
"role": "assistant",
"content": "..."
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "Tell me the tones for the voices?"
},
{
"type": "input_audio",
"input_audio": {
"data": "https://example.com/path/voice.wav",
"format": "wav"
}
},
{
"type": "input_audio",
"input_audio": {
"data": "data:audio/wav;base64,UklGRigAAA...",
"format": "wav"
}
}
]
}
]
画像をプレビューし、評価作成フローと評価結果ビューでオーディオ クリップを直接再生できます。
手順 4: エージェントを構成する
メモ
この手順は 、エージェント の評価にのみ表示されます。
評価中のエージェントの動作をカスタマイズします。
- 評価に関係するエージェントの一覧を確認します。
- エージェントごとに、[ 構成 ] を選択して動作をカスタマイズします。
- システム プロンプト: 評価のためにエージェントの指示を変更します。
- ユーザー プロンプト: 評価中に各データセット 項目をエージェントに送信する方法を指定します。
- 評価実行では、エージェント構成が保持されます。
ユーザー プロンプトの構成
ユーザー プロンプトは、テスト入力をエージェントに渡す方法を定義します。 既定では、ポータルは {{item.query}} を使用してデータセット クエリをエージェントに直接渡します。
ほとんどの場合、既定値を使用できます。 この値は、エージェントで別の入力形式が必要な場合にのみ変更してください。 たとえば、エージェントがホステッド エージェント プロトコルを使用している場合や、追加のフィールドを含む構造化された入力が必要な場合です。
一般的なパターン:
| フォーマット | いつ使用するか |
|---|---|
{{item.query}} |
Default. データセットから直接クエリ フィールドを渡します。 |
{{item.messages}} |
会話履歴を入力として想定しているエージェントの場合。 |
| カスタム JSON | 構造化された要求本文を必要とするホスト型エージェントまたは API の場合。 |
Tip
カスタム プロンプトを使用して、データセット内で自然に発生しない可能性があるエッジ ケースまたは特定のシナリオをテストします。
手順 5: フィールド マッピングを構成する
メモ
この手順は、既存のデータ (既存の会話、既存のデータセット、または既存のトレース) を使用する場合に表示されます。
各エバリュエーターが期待するフィールドにデータ フィールドをマップします。 必須フィールドは、評価スコープによって異なります。
複数ターンの会話評価用
| フィールド | Description | 必須 |
|---|---|---|
| メッセージ | チャット形式の会話メッセージ。 | はい |
| tool_definitions | エージェントで使用できるツールまたは関数の定義。 | はい |
個別ターンの評価(シングルターン)については
| フィールド | Description | 必須 |
|---|---|---|
| query | ユーザークエリまたはプロンプト。 | はい |
| response | モデルまたはエージェントの応答。 | はい |
| context | RAG シナリオのコンテキストを取得しました。 | いいえ |
| ground_truth | 比較に対する正しい回答が必要です。 | いいえ |
| tool_calls | エージェントによって行われたツール呼び出し。 | いいえ |
| tool_definitions | 使用可能なツール定義。 | いいえ |
ポータルでは、データセットのフィールドを自動的にマッピングしようとします。 フィールドが 未割り当て と表示されている場合は、ドロップダウンから選択して、データセット内の列を手動で割り当ててください。
メモ
アスタリスク (*) の付いたフィールドは必須です。 エバリュエーターは、必須フィールドが未割り当てのままにされている場合に失敗します。
手順 6: テスト条件を選択する
評価に使用するエバリュエーターを選択します。 Microsoft Foundry には、3 つのカテゴリの組み込みエバリュエーターが用意されています。 使用可能なエバリュエーターは、評価スコープによって異なります。
代理評価者
エージェントがタスク、ツール、およびユーザー意図を効果的に処理する方法を評価します。 個別ターンスコープでのみ利用可能です。
| エバリュエーター | Description |
|---|---|
| 意図の判定 | エージェントがユーザーの意図を正しく識別して対処したかどうかを測定します。 |
| タスクの準拠 | エージェントが命令と制約にどの程度従っているかを測定します。 |
| ツール呼び出しの成功 | ツール呼び出しが正常に実行されたかどうかを評価します。 |
| ツールの選択 | エージェントがタスクに適したツールを選択したかどうかを測定します。 |
| ツールの出力使用率 | エージェントが応答でツールの出力をどれだけ効果的に使用したかを評価します。 |
| ツール入力の精度 | エージェントがツールに正しい入力を提供したかどうかを測定します。 |
| ツール呼び出し精度 | ツールの使用の全体的な精度。 |
品質評価者
生成された応答の全体的な品質を測定します。 ほとんどの品質エバリュエーターは、すべての評価スコープで使用できます。 ★印の付いた評価者は、会話レベルとターンレベルの両方の分析をサポートします。
| エバリュエーター | Description | 会話のサポート |
|---|---|---|
| 顧客満足度 | エージェントの操作に対するユーザーの満足度を予測します。 | ★ |
| タスクの完了 | エージェントが要求されたタスクを正常に完了したかどうかを評価します。 | ★ |
| Coherence | 応答の論理フローと一貫性を測定します。 | ★ |
| Groundedness | 指定されたコンテキストで応答が接地されているかどうかを測定します。 | ★ |
| 応答の完全性 | 応答がユーザー クエリに完全に対処するかどうかを評価します。 | — |
| Fluency | 自然言語の品質を評価します。 | — |
| Relevance | クエリに対する応答の関連性を評価します。 | — |
安全エバリュエーター
潜在的なコンテンツとセキュリティ リスクを特定します。 個別ターンスコープでのみ利用可能です。
| エバリュエーター | Description |
|---|---|
| 暴力 | 応答で激しいコンテンツを検出します。 |
| 性的 | 性的コンテンツを検出します。 |
| 自傷行為 | 自傷行為に関連するコンテンツを検出します。 |
| ヘイト/アンフェアネス | 嫌いまたは偏ったコンテンツを検出します。 |
ポータルでは、評価ターゲットとスコープに基づいて、推奨されるエバリュエーターが事前に選択されます。
- 完全な会話: 顧客満足度、タスクの完了、一貫性、根拠
- 各ターン (既存データ): すべてのエージェント評価者および品質、安全評価者
- 個々のターン(合成/トレース): 関連性、根拠性、流暢性、一貫性
Tip
必要に応じてエバリュエーターを追加または削除できます。 プロジェクトで定義 したエバリュエーター を使用するには、[カスタム エバリュエーター] を選択します。
手順 7: 確認して送信する
- 評価の 名前 を入力します。
- 構成を確認します。
- 評価対象とスコープ
- データ ソースとデータセット
- 選択されたエバリュエーター
- フィールド マッピング (該当する場合)
- [ 送信] を選択して評価を開始します。
送信すると、評価の実行が開始されます。 通常、評価は、データセットのサイズとシミュレートされる会話の数に応じて、数分以内に完了します。
評価が正常に開始されたことを確認するには:
- 左側のウィンドウで、[ 評価] を選択します。
- 一覧から評価を見つけます。
[状態] 列には、現在の状態が表示されます。
- 進行中: 評価が実行中です。
- 完了: 評価は正常に完了しました。
- 一部完了: 一部の評価項目は完了しましたが、失敗したものもあります。
- 失敗: 評価でエラーが発生しました。
詳細な結果を表示するには、評価名を選択するか、 評価結果の表示を参照してください。
Tip
プログラムによる評価ワークフローの場合は、Azure AI Evaluation SDK を使用します。 SDK でバッチ評価を実行する方法を参照してください。
Troubleshooting
評価のタイムアウトまたは実行速度が遅い
- 会話またはデータセット行の数を減らします。
- シミュレーションの場合は、会話ごとの最大ターン数を減らします。
- 判定モデルに十分なクォータがあることを確認してください。
フィールド マッピング エラー
- データセットに評価スコープに必要な列が含まれていることを確認します。
- 会話の評価では、 メッセージ 列に適切に書式設定されたチャット メッセージが含まれていることを確認します。
- データセット内の列名が予想されるフィールド名と一致することを確認します。
モデルのクォータ上限を超えました
- AI 支援評価に使用されるジャッジ モデルは、Azure OpenAI クォータに対してカウントされます。
- 小さいデータセットを使用するか、クォータが更新されるまで待ちます。
- コスト効率の高い評価のために、
gpt-4.1-miniの代わりにgpt-4.1を使用することを検討してください。
ベスト プラクティス
シミュレーションベースの評価用
- 小規模から始める: シナリオごとに 1 つの会話から開始し、5 ~ 10 ターンでセットアップを検証してからスケールアップします。
- 多様なシナリオ: さまざまなエージェント機能をテストするためのさまざまなシナリオの説明を含めます。
- プロンプトを反復処理する: エージェントが予期せず動作する場合は、[ エージェントの構成] ステップを使用してプロンプトを調整します。
既存の会話の評価向け
- 代表的なサンプル: 一般的なユーザー操作を表す会話を選択します。
- エッジ ケースを含める: 成功した会話を評価するだけでなく、困難なシナリオも含めます。
- 定期的な評価: エージェントのパフォーマンスを経時的に追跡するために定期的な評価をスケジュールします。
モデル評価用
- ベンチマーク データセット: 標準化されたデータセットを使用して、バージョン間でモデルのパフォーマンスを比較します。
- デプロイ済みアクセスとインスタント アクセスの両方をテストする: 微調整されたデプロイを基本モデルと比較します。
データセットの評価用
- コンピューティング前の出力: オフラインで出力を生成し、コスト効率のために一括で評価します。
- データセットをバージョン管理: どのデータセットのバージョンがどの評価結果を生成したかを追跡します。
一般的なヒント
- エバリュエーターの比較: 複数のエバリュエーターを介して同じデータを実行して、包括的なビューを取得します。
- 傾向の追跡: 評価履歴を使用して、パフォーマンスの向上や回帰を特定します。
- 結果に基づく操作: 評価分析情報を使用して、エージェントのプロンプト、ツール定義、および構成を絞り込みます。
関連コンテンツ
生成 AI モデルとエージェントの評価の詳細については、以下を参照してください。