🔍

RAG(検索拡張生成)

検索で外部知識を注入して精度向上

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チャットボット 法律/医療専門相談 最新ニュースベースの応答 技術文書検索アシスタント カスタマーサポート自動化