RAG(検索拡張生成)

Retrieval-Augmented Generation

RAGとは

RAG(Retrieval-Augmented Generation:検索拡張生成)とは、大規模言語モデル(LLM)に外部知識の検索機能を組み合わせた技術フレームワークです。質問や指示に応じて関連する情報を外部データソースから検索し、その情報を基にLLMが回答を生成します。2020年にMeta AIのPatrick Lewisらが提案しました。

RAGの仕組み

RAGは大きく3つのステップで動作します。まず、ユーザーの質問を埋め込みベクトルに変換し、ベクトルデータベースから類似した文書チャンクを検索します(Retrieval)。次に、検索された文書をプロンプトに追加します(Augmentation)。最後に、LLMが元の質問と検索された文書の情報を基に回答を生成します(Generation)。

RAGの利点

LLM単体では学習データに含まれない最新情報や専門知識に基づく回答が困難ですが、RAGにより外部の最新データを参照できます。また、回答の根拠となる文書を提示できるため、透明性と信頼性が向上します。ハルシネーション(事実と異なる回答の生成)の軽減にも効果があります。

RAGの課題と発展

検索精度がRAG全体の性能のボトルネックとなることがあります。チャンクサイズの最適化、ハイブリッド検索(キーワード+ベクトル検索)、リランキング、マルチホップ検索などの技術で改善が図られています。