Shikata Ga Nai

Private? There is no such things.

第57回|RAG(検索補助生成)の仕組みを理解しよう

Hello there, ('ω')ノ

🔍 RAGとは何か?一言で言うと…

RAGとは、「AIが生成する前に、外部から情報を検索してきて、それを使って答える仕組み」です。

通常のChatGPTのようなAIは、あらかじめ学習した知識だけで回答しますが、 RAGはリアルタイムでドキュメントや社内情報を探しにいくという特徴があります。


🧠 なぜRAGが必要なの?

以下のような課題を解決するためです:

よくある課題 RAGがどう解決するか
社内独自の用語・ルールを答えられない 社内文書やDBを検索して引用し、正しく答える
古い知識のままの回答をしてしまう リアルタイムに最新情報を取得して答えられる
回答がそれっぽいだけで根拠がない 根拠となる文書を一緒に表示できる(ソース付き回答)

📌 AIが“自分の頭だけで考える”のではなく、 「一度調べてから答える」AIを実現できるのがRAGです。


⚙️ RAGの基本構成(ステップ解説)

RAGは大きく以下の5ステップで動きます:

① ユーザーからの質問

たとえば:「退職するときの手続きは?」


② 質問をベクトルに変換(埋め込み)

AIがその質問の“意味”を数値ベクトルに変換します(例:OpenAIのembeddingsなどを使用)。


③ ベクトルDBに検索をかける

質問ベクトルと似ている文書(=関連性の高い文脈)を探します。 ここで使うのが、前回紹介した ベクトルデータベース(FAISS, Weaviateなど) です。


④ 見つかった文書をプロンプトに追加

検索結果のテキストを、プロンプト内に埋め込みます:

ユーザーの質問:
→ 「退職するときの手続きは?」

プロンプトに追加する文書:
→ 「退職届は最終出社日の2週間前までに提出する必要があります…」

⑤ LLMが文書+質問をもとに回答生成

検索で得た文書を参考にしながら、AIが自然な文章で答えます。

AIはドキュメントを“読むように”使うのがRAGのポイント!


🖼 イメージ図:RAGの流れ

[ユーザーの質問]
        ↓
【埋め込み生成(ベクトル化)】
        ↓
【ベクトルDB検索】
        ↓
[関連文書を取得]
        ↓
【LLMに渡すプロンプトを生成】
        ↓
[AIが回答を生成(根拠付き)]

📊 RAGの強みと制限

項目 内容
✅ 強み ・社内ドキュメントやFAQなどに基づいた正確な回答ができる
・最新情報も扱える(LLMの知識に依存しない)
⚠️ 弱点 ・検索精度が低いと、誤情報を含む文書が使われる
・長文を詰め込みすぎるとプロンプトがパンクする

RAGは便利ですが、「検索部分」と「プロンプト設計」がとても重要です。


💼 実務での活用例

活用シーン RAGの活用方法
社内FAQボット 社内マニュアル・規定集から回答を生成
議事録からの要点検索 議事録データベースから関連トピックを抽出し、要点回答
顧客対応チャット支援 過去の問合せ履歴や製品ガイドを使ってサポート対応
法務・人事チェック 契約書や就業規則を参照しながら判断・助言を自動化

🔧 使う技術まとめ(RAG構成に必要な要素)

要素 使用例(よく使われるツール)
ベクトル化(Embedding) OpenAI, HuggingFace, Cohere など
ベクトルDB FAISS, Weaviate, Pinecone, Chroma
AIモデル(LLM) GPT-4, Claude, Mistral など
チェーン構成 LangChain や LlamaIndex などで構成可能

✅ まとめ:RAGは“AIが賢く調べて答える”技術

✅ RAGとは、AIが文書を「検索してから答える」仕組み

✅ 通常のAIより、正確・根拠あり・最新情報に強い

✅ 社内ドキュメントを活用する業務AIには必須

✅ LangChainやColabで、意外と手軽に構築できる!

Best regards, (^^ゞ