コンテンツにスキップ

8.1.1 RAG ロードマップ:文書、検索、回答

RAG は実務的な問題を解きます。モデルは最新情報、非公開情報、出典が必要な事実をすべて知っているわけではないため、アプリケーションが先に根拠を検索してから回答させます。

LLM アプリケーションにおける RAG の位置づけを示す橋渡し図

RAG コア章の学習順序図

RAG で資料から回答へ進むパイプライン図

基本ループは、文書読み込み、chunk 分割、metadata 付与、embedding、検索、rerank、context 組み立て、回答、出典引用、評価です。

これはまだベクトルデータベースではありません。検索の習慣を小さく再現します:チャンクに点を付け、出典を表示し、根拠が質問に合うか確認します。

chunks = [
{"source": "rag.md", "text": "RAG retrieves source chunks before the model answers."},
{"source": "eval.md", "text": "Citations let users verify whether an answer is grounded."},
{"source": "deploy.md", "text": "Deployment exposes the model through a stable API."},
]
query = "why do RAG answers need citations"
query_terms = set(query.lower().split())
def score(chunk):
words = set(chunk["text"].lower().replace(".", "").split())
return len(query_terms & words)
for chunk in sorted(chunks, key=score, reverse=True)[:2]:
print(chunk["source"], score(chunk))

期待される出力:

Terminal window
rag.md 2
eval.md 1

先頭の出典が無関係なら、最終 Prompt を先に直さないでください。文書解析、chunk 分割、metadata、検索カバレッジを確認します。

手順読む内容実践アウトプット
1RAG 基礎質問 → 根拠 → 回答のループを描く
2文書処理source と metadata を持つ chunks を作る
3ベクトルデータベースembedding、ベクトルレコード、類似検索を説明する
4検索戦略キーワード、ベクトル、ハイブリッド、filter、rerank を比較する
5最適化と高度な RAGrecall 不足、ranking 不良、弱い コンテキスト を調べる
6RAG 評価回答正しさ、引用根拠、no-answer 動作をテストする

このページを終えたら、この証拠カードを残します。

クエリ
1つのユーザー質問またはテストケース
検索チャンク
chunk id、スコア、ソースタイトル
回答
引用または出典メモ付きの最終回答
失敗確認
証拠不足、誤ったチャンク、古い文書、または裏付けのない主張
次の行動
chunking、embedding、reranking、prompt、または eval の変更

10 個以上の固定質問に対して、検索チャンク、回答本文、出典引用を表示する最小知識ベース Q&A ループを作れれば、この章は合格です。

出口ミニプロジェクトは、コース知識ベース助手です。3〜5 件の Markdown 文書、top-k 検索出力、出典表示、簡単な評価表を用意します。

確認の考え方と解説
  1. 合格レベルの答えでは、query から chunks、retrieval scores、引用 evidence、answer、fallback behavior までの流れを追跡します。
  2. 証拠には、retrieved passages、source metadata、引用付き回答、空振りまたは誤検索の例を含めます。
  3. 失敗原因が chunking、retrieval、ranking、prompt assembly、source 不足、根拠のない生成のどれかを説明できればよいです。