検索正確性LLM アーキテクチャ 更新

RAG(検索拡張生成)

定義

RAG(検索拡張生成、Retrieval-Augmented Generation)は、質問の時点で関連する文書を検索して言語モデルに渡す AI の手法です。これにより、モデルの記憶だけに頼らず、実際の情報源に基づいた回答が得られます。

概要

発表
Lewis ら、NeurIPS 2020
処理の流れ
インデックス化 → 検索 → 拡張・生成
主な保存先
ベクトルデータベースまたは検索インデックス
主なメリット
モデルを再学習しなくても、最新で引用可能な情報源に基づいた回答が得られる
主な限界
検索で適切な箇所を取りこぼすと、回答が誤っている可能性がある

検索拡張生成は、外部の文書コレクションを検索するリトリーバー(検索器)と、ジェネレーター(生成器)である言語モデルを組み合わせた手法です。Lewis ら(2020)が提案したもので、パラメトリックな seq2seq モデルと Wikipedia の非パラメトリックなベクトルインデックスを組み合わせることで、より事実に即した具体的なテキストを生成でき、オープンドメイン質問応答で最先端の成績を収めることを示しました。

現代の RAG システムの多くは、Dense Passage Retrieval(Karpukhin ら、2020)にならい、密な埋め込みを使って検索します。検索と言語モデルを結びつけるという考え方は、REALM(Guu ら、2020)でも発展させられました。

AI における RAG とは?わかりやすく言うと

RAG の意味をひと言でいえば、「まず調べてから答える」です。素の LLM は学習時に取り込んだ知識だけで答えるため、情報が古かったり記憶違いがあったりします。RAG システムはまず、社内文書、ナレッジベース、Web などから質問に関連する箇所を取得し、それを質問と一緒にモデルに渡します。そのため、回答では実際の情報源を引用し、出典を示すことができます。

そのため RAG は、社内の非公開文書を対象にしたチャットボット、常に最新の情報が求められるサポートアシスタント、各主張の出典を示すリサーチツールなどを構築する際の定番の方法になっています。

検索拡張生成の仕組み

  1. 1
    インデックス化。文書をチャンク(断片)に分割し、各チャンクを埋め込みに変換して、ベクトルデータベースや検索インデックスに保存します。
  2. 2
    検索。ユーザーの質問も同じ方法で埋め込みに変換し、最近傍探索で最も類似したチャンクを見つけます。その後にリランキングの工程を挟むこともよくあります。
  3. 3
    拡張と生成。上位の箇所をモデルのコンテキストウィンドウの範囲内でプロンプトに挿入し、モデルはそれに基づいて回答を書きます。理想的には、各記述の根拠となる箇所も示します。
RAG はハルシネーションを減らしますが、なくすわけではありません。検索で適切な箇所を取りこぼしたり、モデルがそれを読み違えたりすれば、回答が誤っている可能性は残ります。重要な内容については、引用された情報源を必ず確認してください。

RAG とファインチューニングの違い

どちらもモデルを自分の分野でより役立つものにする方法ですが、変えるものが異なります。RAG はモデルが参照できる情報を変え、ファインチューニングはモデルそのものを変えます。

RAGファインチューニング
変わるものモデルに与えるコンテキストモデルの重み
知識の更新文書を再インデックスする再度学習させる
出典の提示使用した箇所を示せる出典をたどる仕組みはない
向いている用途最新の情報、非公開の情報、頻繁に変わる情報一貫した文体や形式、専門的な振る舞い

コンテキストウィンドウが長ければ、文書全体をチャットに貼り付けられるため、数ファイル程度なら RAG の代わりになります。それでも、文書の量がウィンドウに収まらない場合、頻繁に更新される場合、多数のユーザーをまたいで検索する必要がある場合は、RAG のほうが優れています。

MultipleChat における RAG

MultipleChat のプロジェクト はこの仕組みで動いています。プロジェクトに追加したファイルはインデックス化され、メッセージを送信すると MultipleChat がそれらを検索し、最も関連性の高いチャンクだけをモデルに渡します。そのため、コピー&ペーストしなくても、プロジェクト内のすべてのチャットで自分の文書を活用できます。Web 検索でリアルタイムの情報源も加えられ、有料プランでは Auto Verification が回答の直後に事実関係の問題をチェックします。

参考文献

この定義の根拠となる一次資料、査読済み資料、アーカイブ資料です。

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., Goyal, N., Küttler, H., Lewis, M., Yih, W., Rocktäschel, T., Riedel, S., & Kiela, D. (2020). Advances in Neural Information Processing Systems 33 (NeurIPS 2020).
Dense Passage Retrieval for Open-Domain Question Answering
Karpukhin, V., Oğuz, B., Min, S., Lewis, P., Wu, L., Edunov, S., Chen, D., & Yih, W. (2020). Proceedings of EMNLP 2020, pp. 6769–6781.
REALM: Retrieval-Augmented Language Model Pre-Training
Guu, K., Lee, K., Tung, Z., Pasupat, P., & Chang, M.-W. (2020). Proceedings of the 37th International Conference on Machine Learning (ICML 2020).

辞書・百科事典の項目

この項目を引用する

MultipleChat「RAG(検索拡張生成)」MultipleChat AI・LLM 用語集、2026年10月。https://multiple.chat/ai-glossary/rag

関連用語

実際に試してみる

同じプロンプトを ChatGPT、Claude、Gemini、Grok、Perplexity で並べて実行できます。手持ちのファイルをコンテキストに使い、回答同士を照らし合わせて確認できます。

MultipleChat を無料で試す

さらに詳しく

有料プランを見る