About

RAG(検索拡張生成)とは?検索した文書を添えてLLMに答えさせる

学習データにない最新・専門知識も使える

RAG(Retrieval-Augmented Generation)はMeta(Facebook)が2020年に提案した技法で、LLMのハルシネーション(幻覚)と知識の限界を解決する最も実用的な方法です。核心は「質問に関連する文書をまず見つけ、その文書を参考にして回答を生成」することです。文書をchunk単位に分割し、埋め込みモデルでベクトル化してベクトルDB(Pinecone、Chroma等)に保存します。質問が来ると類似度検索で関連chunkを見つけプロンプトに添付します。モデルを再学習せずに最新情報と専門知識を活用できます。

キーコンセプト

1

文書収集とchunk分割(500〜1000トークン単位)

2

各chunkを埋め込みモデルでベクトル化 → ベクトルDBに保存

3

ユーザーの質問を同じ埋め込みモデルでベクトル化

4

ベクトル類似度検索(cosine similarity)で関連chunk上位k個を検索

5

検索されたchunkをプロンプトに「参考資料」として添付

6

LLMが参考資料をもとに回答を生成(出典引用可能)

メリット

  • ✓ モデル再学習なしで知識更新が可能
  • ✓ ハルシネーション(幻覚)の減少
  • ✓ 出典引用で信頼性向上
  • ✓ Fine-tuningに比べてコスト効率的
  • ✓ データセキュリティ維持が可能(社内DB)

デメリット

  • ✗ 検索品質が全体性能を左右
  • ✗ 埋め込み/ベクトルDB管理コスト
  • ✗ chunk分割戦略が複雑
  • ✗ context window制限で参考資料量が制限
  • ✗ 検索-生成パイプラインの遅延

ユースケース

企業内部文書Q&Aチャットボット 法律/医療専門相談 最新ニュースベースの応答 技術文書検索アシスタント カスタマーサポート自動化
← プロンプトエンジニアリングとは?入力の設計でLLMの出力を導く Chain-of-Thought(CoT)とは?段階的に考えさせて推論を強くする →