RAG(検索拡張生成) らぐ
検索拡張生成ベクトル検索ハルシネーション対策社内文書検索LLM活用ベクトルDB
RAG(検索拡張生成)について教えて
簡単に言うとこんな感じ!
「AIが答える前にまず社内文書を検索して、その内容をもとに回答を作る」仕組みだよ!ChatGPTは学習した時点の知識しか持っていないし、社内の情報は知らない。でもRAGを使えば「最新の規程マニュアルを検索→その内容でAIが回答」ができるんだ!ハルシネーション(でたらめ回答)も減るよ!
RAG(検索拡張生成)とは
RAG(Retrieval-Augmented Generation:検索拡張生成) とは、LLM(大規模言語モデル)が回答を生成する前に、外部の知識ベースやデータベースから関連情報を 検索(Retrieval) し、その情報をコンテキストとして与えた上で 生成(Generation) を行うアーキテクチャです。
LLM単体の問題点は2つです。①知識のカットオフ(学習データの締め切り日以降の情報を知らない)、②社内情報を知らない(企業独自の規程・マニュアル・過去資料は学習していない)。RAGはこれらを解決し、「最新の・自社固有の情報に基づいた正確な回答」を可能にします。
ビジネスでのRAGの代表的な活用は、社内文書への質問応答システム(FAQ・就業規則・製品マニュアルへの自然言語での問い合わせ)です。単純な全文検索(キーワードマッチング)より自然な問いかけに対応でき、回答の根拠となった文書も提示できるため、ハルシネーション(AIの誤情報)リスクを大幅に低減できます。
RAGの仕組み
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番号 | 内容 |
|---|---|
| — | 実装手法のため公式規格なし |
関連用語
- 大規模言語モデル(LLM) — RAGで利用する言語生成AIモデル
- プロンプトエンジニアリング — RAGのプロンプト設計技術
- 単語埋め込み — ドキュメントのベクトル化に使う技術
- ファインチューニング — モデル自体を追加学習するRAGの代替手段
- 自然言語処理(NLP) — テキスト処理技術の総称
- 生成AI — テキスト・画像などを生成するAI技術の総称
- Transformer — LLMの基盤となるアーキテクチャ