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