変更要約: 各節に図(figure)を追加=cert-figure-retrofit。AI-901 第3章を新規作成(ドメイン2: LLM の生成原理=次トークン予測、プロンプト要素=システムメッセージ/指示/few-shot/コンテキスト、temperature、根拠付け=グラウンディング/RAG の順序=検索→付与→生成、RAG≠ファインチューニング、Foundry SDK での呼び出し)
3.2根拠付け(グラウンディング)と RAG
モデルが学習していない最新・社内固有の情報に基づいて回答させる「根拠付け(グラウンディング)」と、その代表的実装である RAG(検索拡張生成)の考え方、Foundry SDK でアプリに組み込む流れを理解します。
LLM は学習時点までの一般知識しか持たず、最新情報や社内固有の情報は知りません。また前節の通りハルシネーションも起こります。これを解決するのが 根拠付け(グラウンディング, grounding)です。グラウンディングとは、回答の根拠となる信頼できる情報をプロンプトの文脈として与え、それに基づいて答えさせること。「モデルの記憶」ではなく「渡した資料」に基づくため、回答が最新かつ正確になり、出典も示せます。
3.2.1RAG(検索拡張生成)の仕組み
グラウンディングの代表的な実装が RAG(Retrieval-Augmented Generation, 検索拡張生成)です。流れは3段階:
①ユーザーの質問に関連する文書を検索(社内ナレッジや Azure AI Search 等から取得)→
②取得した抜粋をプロンプトの文脈に付け足す→
③その文脈を踏まえてモデルが回答を生成。これにより、モデル自体を再学習しなくても、自社の最新文書に基づく回答が得られます。Foundry ではプロジェクトにデータを接続し、この検索→付与→生成を組み立てられます。
| 課題 | 根拠付けなし | 根拠付け(RAG)あり |
|---|---|---|
| 最新情報 | 学習時点までしか知らない | 渡した最新文書に基づける |
| 社内固有情報 | 知らない | 社内ナレッジを検索して回答 |
| 事実性 | ハルシネーションのリスク | 根拠提示で抑制・出典明示 |
3.2.2Foundry SDK でアプリに組み込む
アプリからは Foundry SDK(主に Python)でデプロイ済みモデルを呼び出します。基本は「クライアントを作る(エンドポイント+認証)→ メッセージ(システム+ユーザー)を渡す → 応答を受け取る」という流れです。RAG を加える場合は、ユーザー入力を受けたらまず検索を行い、その結果をメッセージの文脈に足してからモデルへ送ります。AI-901 では細かなコードは問われませんが、「アプリは SDK 経由でモデルを呼ぶ」「グラウンディングは送信前に文脈を足す」という役割と順序を理解しておきます。
シナリオ:社内規程に答えるアシスタント。 「経費精算の締切は?」と聞かれたら→
①社内規程から関連箇所を検索→
②その抜粋を文脈に付与→
③モデルが抜粋に基づき回答し出典(規程名・条番号)を提示。モデルを再学習せずに、最新規程に正確に答えられます。
混同・注意:
①RAG(検索で文脈を足す)とファインチューニング(追加学習でモデル自体を更新)は別物——RAG は再学習なしで最新情報に対応。
②グラウンディングは渡した資料の品質次第——古い・誤った資料を渡せば誤答も起こる。
③出典提示はできるが、人の確認が不要になるわけではない。
④RAG は「検索→生成」の順。生成してから検索するのではない。
頻出:
①「最新/社内情報に基づいて答えさせたい・ハルシネーションを抑えたい」=グラウンディング/RAG。
②「モデルを再学習せず最新文書に対応」=RAG(ファインチューニングではない)。
③RAG の順序=検索→文脈に付与→生成。
④「アプリからモデルを呼ぶ手段」=Foundry SDK。
3.2.3この節のまとめ
- グラウンディング=信頼できる情報を文脈として与え、それに基づいて回答させる(最新・社内情報・事実性の改善)
- RAG の順序:検索 → 関連文書を文脈に付与 → 生成。モデルの再学習は不要
- RAG ≠ ファインチューニング(後者はモデル自体を追加学習で更新)
- アプリは Foundry SDK でモデルを呼ぶ。RAG は送信前に文脈を足す。出典提示可だが人の確認は継続
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 最新情報や社内固有の情報に基づいて LLM に回答させ、ハルシネーションを抑える手法を何と呼びますか?
Q2. RAG(検索拡張生成)の処理順序として正しいものはどれですか?
Q3. モデル自体を再学習せずに、自社の最新文書に基づいて回答させたい場合に適した手法はどれですか?
Q4. アプリケーションからデプロイ済みモデルを呼び出してアプリに組み込むのに使うのはどれですか?
Q5. グラウンディング(RAG)に関する注意点として正しいものはどれですか?

