AI・機械学習

RAG(検索拡張生成) らぐ

検索拡張生成ベクトル検索ハルシネーション対策社内文書検索LLM活用ベクトルDB
RAG(検索拡張生成)について教えて

簡単に言うとこんな感じ!

「AIが答える前にまず社内文書を検索して、その内容をもとに回答を作る」仕組みだよ!ChatGPTは学習した時点の知識しか持っていないし、社内の情報は知らない。でもRAGを使えば「最新の規程マニュアルを検索→その内容でAIが回答」ができるんだ!ハルシネーション(でたらめ回答)も減るよ!


RAG(検索拡張生成)とは

RAG(Retrieval-Augmented Generation:検索拡張生成) とは、LLM(大規模言語モデル)が回答を生成する前に、外部の知識ベースやデータベースから関連情報を 検索(Retrieval) し、その情報をコンテキストとして与えた上で 生成(Generation) を行うアーキテクチャです。

LLM単体の問題点は2つです。①知識のカットオフ(学習データの締め切り日以降の情報を知らない)、②社内情報を知らない(企業独自の規程・マニュアル・過去資料は学習していない)。RAGはこれらを解決し、「最新の・自社固有の情報に基づいた正確な回答」を可能にします。

ビジネスでのRAGの代表的な活用は、社内文書への質問応答システム(FAQ・就業規則・製品マニュアルへの自然言語での問い合わせ)です。単純な全文検索(キーワードマッチング)より自然な問いかけに対応でき、回答の根拠となった文書も提示できるため、ハルシネーション(AIの誤情報)リスクを大幅に低減できます。


RAGの仕組み

RAG の処理フロー ユーザーの質問 クエリ ベクトル化 ベクトルDB検索 (意味的類似検索) 関連文書チャンク (上位k件)を取得 プロンプト = 質問 + 取得した文書コンテキスト 「以下の文書を参照して質問に答えてください:[文書内容]」 LLMが文書をもとに回答生成 回答 + 参照元文書を提示 【事前準備】 社内文書を チャンク化して ベクトルDB登録

RAGの主なコンポーネント

コンポーネント役割代表的なツール
ドキュメントローダーPDF・Word・Webなどを読み込むLangChain・LlamaIndex
テキスト分割文書をチャンク(小分け)にするRecursiveTextSplitter
埋め込みモデルテキストをベクトルに変換text-embedding-3・E5
ベクトルDBベクトルを保存・類似検索Pinecone・Weaviate・pgvector
LLMコンテキストをもとに回答生成GPT-4・Claude・Gemini

歴史と背景

  • 2020年 — Meta/FacebookがRAGの論文「Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks」を発表
  • 2022年〜 — ChatGPTの普及で「社内文書への質問応答」のニーズが急増
  • 2023年LangChain・LlamaIndexなどRAG構築フレームワークが急速に普及
  • 2023年 — Azure AI Search・Vertex AI Searchなどクラウド各社がRAG対応サービスを提供
  • 2024年〜Advanced RAG(ハイブリッド検索・リランキング・グラフRAGなど)で精度向上

RAGとファインチューニングの比較

観点RAGファインチューニング
最新情報への対応✅ リアルタイム更新可✗ 再学習が必要
根拠の提示✅ 参照元文書を明示✗ 根拠が不明確
コスト中(ベクトルDB運用)高(GPU学習コスト)
導入速度速い(数日〜週単位)遅い(週〜月単位)
業務知識の深度文書依存モデルに刷り込める

関連する規格・RFC

規格・RFC番号内容
実装手法のため公式規格なし

関連用語