Azure AI Foundryで構築したAIチャットボットの評価方法
目次
はじめに
本記事ではAzure AI Foundryの評価機能を利用し、構築したAIチャットボットに対して、
5つの評価指標をリッカート尺度(5段階評価)でスコアリングする方法をご紹介します。
- 構築したAIチャットボットはどのように評価すれば良いの?
- Azure AI Foundryの評価機能を知りたい!評価方法を知りたい!
などの興味がある方に向けた記事内容となっています
本記事の前提
- Markdown形式のFAQファイルを作成済であること
(本記事ではMarkdownファイル作成方法は取り扱いません) - Azure AI Searchにベクトルインデックスを事前作成済みであること
(本記事ではベクトルインデックスの作成方法は取り扱いません) - 画面表示は変更されている可能性があります
(最新情報をご確認ください。画面表示は2025年8月時点のものです)
評価ステップ
大きく5つのステップに分けて説明します
- 事前準備
- 応答取得用csvファイルの作成
- 手動評価
- AIチャットボットの応答を取得
- 自動評価
- チャットボットの応答を5つの指標で評価
- 評価結果の確認
- 評価結果スコアを分析し、低評価の領域を特定
- 評価後のアクション
- アクションを検討し、FAQやプロンプトなどの修正 → 改善サイクルへ
1. 前準備
- MarkdownのFAQファイルからAIの応答取得に利用するCSVファイルを作成します
以下形式のMarkdownファイルがある前提で記載しています
すでにcsv形式のファイルがあれば、当手順はスキップしていただいて問題ありません
【Markdownファイル記載例】
## Q1: Metallica(メタリカ)のメンバー構成
**A1:**
- Vocal & Rhythm Guitar: James Hetfield
- Lead Guitar: Kirk Hammett
- Bass Guitar: Robert Trujillo
- Drums: Lars Ulrich
## Q2: Metallicaの結成年は?
**A2:**
- 1981年
## Q3: Metallicaの出身地は?
**A3:**
- アメリカ合衆国カリフォルニア州ロサンゼルス
- 生成AI(M365 Copilotチャット等)でMarkdownをcsvに変換するよう指示します
プロンプト例:
mdファイルの1番から50番ごとにQをuser_inputとし、
Aをreferenceとするcsvファイルを作成し、ダウンロードできるようにしてください
- 筆者環境ではcsvの51行目以降のデータが取得されなかったため、
1ファイル50行以内となるよう分割して実施しました。
【csvファイル出力例】
user_input,reference
Metallica(メタリカ)のメンバー構成,"- Vocal & Rhythm Guitar: James Hetfield
- Lead Guitar: Kirk Hammett
- Bass Guitar: Robert Trujillo
- Drums: Lars Ulrich"
Metallicaの結成年は?,1981年
Metallicaの出身地は?,アメリカ合衆国カリフォルニア州ロサンゼルス
2. 手動回答取得
-
以下の流れでFAQの質問からAIチャットボットの回答を取得します
-
以下のウィンドウが表示される場合、「保存せずにインポート」クリックで先に進みます
※以前の結果を保存する必要がある場合は「キャンセル」で戻ります

全ての質問の応答が出力されるまでしばらく時間がかかります
3. 5つの指標で評価
-
2の取得結果を5つの評価指標で評価します
-
「新しいデータセットのアップロード」ボタンをクリックし、
「プレビュー」の表示を確認 → 「次へ」ボタンをクリックします

-
「エバリュエーターを選択する」ウィンドウで1~5の順で設定します
【参考1】
| プリセットボタン | 修正値 | 評価指標と意味 |
|---|---|---|
| 根拠性 | Groundness | 回答がFAQや提供された情報に基づいているか(事実に裏付けがあるか) |
| 関連度 | Relevance | 回答が質問の意図に適切に関連しているか |
| コヒーレンス | Coherence | 回答が論理的に一貫しており、文脈に沿っているか |
| 流暢性 | Fluency | 回答が自然で読みやすい言語表現になっているか |
| 類似性 | Similarity | モデルの回答が参照回答(Reference)とどの程度一致しているか |
【参考2】
| 列 | 設定するプルダウンメニュー |
|---|---|
| コンテキスト | 「想定される回答」列を指定 |
| クエリ | 「質問」列を指定 |
| 応答 | 「LLM回答」列を指定 |
4. 評価結果の確認
- 評価結果を確認します
5. 評価後のアクション
- 自動評価結果を確認した上で改善の要否を判断し、必要なアクションを検討します
よくある低スコアの原因とアクション例
| 評価指標 | 低スコアの原因 | アクション例 |
|---|---|---|
| Groundness(根拠性) | FAQに基づかない回答 | FAQファイルの内容を精査し、正確な情報を追加・更新 |
| Relevance(関連度) | 質問と回答がずれている | ・FAQの質問文を実際のユーザーの質問傾向に合わせた内容に修正する ・システムプロンプトで「質問意図を正確に理解する」指示を追加 |
| Coherence(一貫性) | 回答文の内容に一貫性(脈略)がない | ・システムプロンプトで「一貫性のある文章で回答」する旨を指示する等 |
| Fluency(流暢性) | 不自然な日本語 | ・システムプロンプトで「自然な日本語で回答」する指示する・LLMモデルの変更等 |
| Similarity(類似性) | モデル回答とReferenceの内容が乖離している | ・FAQの回答文をより明確に記載する・システムプロンプトでFAQの表現を尊重する旨の指示を追加する等 |
- 低スコアやFailがNGとは限りません
- 評価結果、実際の回答、FAQを確認して、問題ないというケースもあります
- 評価結果を保管し、継続的にスコアの変化を確認することが気付きになります
AIチャットボットの汎用性を確認
FAQ以外の質問も評価することで、より精度の高いAIチャットボットへ
- RAGは元の文章に基づいた回答が得られるかが重要なポイント
- 固有知識と関係のない質問や的外れな回答が低スコアで評価されれば
信頼性の高いAIボットと言えるはず - ユーザーが入力すると想定される質問を評価しておくのも良いアプローチでしょう
プロセスを回す
MLOpsとHuman In The Loopの考えを組み入れた改善プロセスを回せると良いでしょう
- 評価結果の低スコア領域を特定する
- 低スコア領域の評価結果を目視確認する
- 対応方針を決める
- 対応方針に則した対応を行う
(例えば:FAQの修正、システムプロンプトを見直すなどの対応が考えられます) - (当記事の頭に戻り)修正後の応答を再度評価する
本記事は以上です。
まとめ
いかがでしたでしょうか?
以下はAzure AI Foundryの評価機能を使ってみた私の感想です
- 様々な評価指標を一気通貫で評価できるのは魅力的
- 基本的にGUI操作で簡単に評価できる点がとっつきやすいと感じた
- 評価した結果が、視覚的かつ直感的に理解しやすかった
- 評価後のステップに進めることが意識されたツールと感じた
つまずきポイントはいくつかあるかもしれませんが
評価結果が視覚的に分かりやすく、
直感的に把握できるのはこのツールの強みと言えそうです。
AI Foundryには今回紹介した評価指標以外にも、
セキュリティ関連のテンプレートをはじめ、多様なテンプレートが用意されています。
活用場面を事前に把握しておくことで必要なときにすぐ使えると考えています。
最後までお読みいただきありがとうございました。
もしよろしければ感想などフィードバックをお寄せいただけますと幸いです。














