本文へスキップ

RAG(検索拡張生成)とは

この記事は7で読めます

ざっくり言うと

RAG(ラグ / Retrieval-Augmented Generation・検索拡張生成)とは、AIが質問に答える前に、関係のありそうな資料をまず検索し、その資料を見ながら答える仕組みです。

たとえば、有給休暇の繰り越しについて聞かれたとします。細かい日数までそらで言えなくても、就業規則を開いて、そのページを見ながら答えれば正確に返せますよね。

RAGがやっているのも、これと同じことです。AIに全部を覚えさせるのではなく、答える直前に必要な資料を手渡します。

ファイル検索、Web検索、社内文書に基づくAIチャットなどで、この考え方が使われます。ただし、個々の製品が同じ実装を使っているとは限りません。

イメージ

RAGでは、AIがその場で学習し直しているわけではありません。資料を一時的に見せて、その回の回答に使ってもらうだけです。モデルそのものに追加のお手本を見せるファインチューニングとは、ここが違います。

この形なら、学習データに入っていない社内文書も、更新したばかりの資料も、その場の根拠として渡せます。ただし、渡した資料に肝心の情報が入っていなければ、答えは正しくなりません。AIがその資料をうまく使えなかったときも同じです。

正確には

RAGは、2020年にMeta(当時Facebook AI Research)などの研究者が提案した手法です(Lewis et al., arXiv:2005.11401)。論文の題名は『Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks』で、検索してきた資料を回答づくりに使う考え方が示されています。

Meta AIの公式ブログでも、「生成モデルに外部知識ソースへのアクセスを与えることで、知識集約型タスクの精度を高める一般的な手法」として紹介されています。

IBMの解説では、RAGを「大規模言語モデル(LLM)の出力を、生成前に外部の権威ある知識ベースを参照することで最適化するプロセス」と定義しています。つまり、答えを書き始める前に、確かな資料へ当たらせるということです。

Microsoft Learn(Azure AI Searchのドキュメント)とGoogle Cloudの解説も同様です。どちらも「LLMに外部データを与えて回答品質を高めるアーキテクチャ」として説明されています。

資料を探して、渡して、答える

RAGの基本的な処理の流れは、公式各社の解説でほぼ共通しています。

ステップ何をする?ざっくり言うと
1. Retrieval(検索)質問に関連する文書を、知識ベースから取ってくる意味の近い資料を引っ張ってくる
2. Augmentation(拡張)取ってきた文書を、質問と一緒にプロンプトへ入れるAIへのお題に資料を添える
3. Generation(生成)AIが、渡された文書を参考にして回答を作る資料を見ながら答える

1つ目の検索では、言葉がそのまま一致しているかどうかだけを見ているわけではありません。意味の近さで探すベクトル検索が使われることも多いです。

ベクトル検索は、文章を数値の並びに変換する埋め込みという技術と組み合わせて実現されています。仕組みは埋め込み(Embedding)ベクトル検索で詳しく扱っています。

なぜ資料を渡すのか

外部の検索を使わないAIには、情報の面で次のような限界があります。RAGは、その一部を補う代表的なやり方です。

  • 学習の締切日より後を知らない(ナレッジカットオフ)
    AIは、学習に使ったデータの締切日より後の出来事を知りません。RAGなら、更新後の文書を検索して渡せます。
  • 社内の資料を知らない
    就業規則、契約書、特定の業界向けの資料など、公開されていない情報は学習されていません。RAGなら、自社のナレッジベースを参照できます。
  • 知らないことを作ってしまう(ハルシネーション)
    AIは、知らないことをそれらしく書いてしまうことがあります。根拠となる文書を一緒に渡せば、事実に沿った回答へ近づけられます(ただし完全には防げません)。

RAGを使う理由としてよく挙がるのは、更新された情報を扱うこと、その分野に固有の知識を活かすこと、ハルシネーションを減らすことの3つです。この3点は、IBM・Microsoft・Google Cloudのいずれの解説でも共通して挙げられています。

使う場面

身近な使われ方

注意点

根拠にした資料を先に見る

答えを読むときは、文章の中身より先に、どの資料を根拠にしたかを確かめてください。参照元が古い資料、別の部署の資料、質問と関係のないページだった場合、文章がいくら自然でも答えは危ういです。

検索の精度と、資料の新しさと、AIが根拠を読み違えないことの3つがそろって、はじめて役に立ちます。資料を渡したあとも、人が確かめる仕事は残ります。

作り話が起きる仕組みそのものは、ハルシネーションで詳しく扱っています。

関連用語

  • ファインチューニング — 学習済みのAIに追加のお手本を見せて、答え方そのものを寄せていく方法です。
  • 埋め込み(Embedding) — 文章を数値の並びに置き換えて、意味の近さを計算できるようにする技術です。
  • ベクトル検索 — 言葉がぴったり一致しなくても、意味の近い資料を探せる検索のしかたです。
  • ハルシネーション — 事実と違う内容を、AIがもっともらしく書いてしまう現象です。
  • ナレッジカットオフ — だいたいいつ頃までの情報をAIが知っているか、その目安です。

やってみよう

よくある質問

Q. RAGとは何ですか?
A. AIが質問に答える前に、関係のありそうな資料をまず検索し、その資料を見ながら答える仕組みです。試験会場に教科書を持ち込んで解く、オープンブック方式にあたります。
Q. ファインチューニングとは何が違うのですか?
A. RAGは資料を一時的に見せて、その回の回答に使ってもらうだけで、AIがその場で学習し直しているわけではありません。ファインチューニングは、モデルそのものに追加のお手本を見せて答え方を寄せます。
Q. RAGを使えば、AIの作り話はなくなりますか?
A. 完全には防げません。検索でずれた文書が引っかかると、それをもとに間違った答えが作られます。渡された文書に答えが載っていなくても、AIが推測で埋めてしまうことがあります。
Q. 答えを読むとき、どこを確かめますか?
A. 文章の中身より先に、どの資料を根拠にしたかです。参照元が古い資料、別の部署の資料、質問と関係のないページだった場合、文章がいくら自然でも答えは危ういです。

公開: 更新: ✓ 公式情報と照合:

参考ソース

判断クイズ

資料を見ながら答えるAIの答えを、どこから確かめますか?

3問です。答えるとその場で解説が出ます。全問終えたら、「回答を記録する」で学習の記録に残せます。

1. 社内の就業規則をAIに答えさせたいと相談されました
2. 「RAGを入れたので、もう間違った答えは出ません」と説明されました
3. 社内AIチャットが、有給休暇の日数を自然な文章で答えてきました

全問に答えると、回答を記録できます。

残るのは「答えたかどうか」だけで、正解数は保存されません。この端末の中だけに残り、別の端末には引き継がれません。

この教科書は無料で全文公開しています。仕事で使えるところまで進みたい方は、実習と資料がそろった生徒プランをどうぞ。

生徒プランを見る(14日間無料)

あわせて読みたい