メインコンテンツへスキップ

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

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))

出力:

rag.md 2
eval.md 1

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

この順番で学ぶ

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

合格ライン

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

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