ステータス: 🟢 現役 最終更新: 2026-07-13 作成者: にしむら(学習キュレーター)
この章のゴール
RAGの仕組みを自分の言葉で説明でき、自社文書に答えるQAを構築できるようになること。Difyが実務で最も使われる機能のひとつです。
まず結論
RAG(検索拡張生成)は、「質問に関係する文書をまず検索し、その内容をLLMに渡してから答えさせる」手法です。これによりLLMが元々知らない自社マニュアルや社内規程にも、根拠に基づいて答えられます。Difyでは文書をアップロードして「ナレッジ(知識ベース)」を作り、それをアプリに紐づけるだけでRAGが動きます。
やさしい解説
LLMは学習した時点までの一般知識しか持たず、あなたの会社の規程は知りません。そこで、質問が来たら関連する文書の断片を検索して取り出し、「この内容を踏まえて答えて」とLLMに渡します。これがRAGです。回答が文書に基づくため、いわゆる「もっともらしい嘘」を減らせるのが利点とされます。
Difyでの手順は3段階です。第一に、ナレッジ作成でPDFやテキストなどの文書をアップロードします。第二に、Difyが文書を「チャンク」と呼ぶ小さな塊に分割し、検索できる形(ベクトル)に変換します。この変換された値の保存先が、DifyのデフォルトではベクトルデータベースのWeaviateです。第三に、作ったナレッジをチャットボットやワークフローの知識取得ノードに紐づけます。
品質を左右するのはチャンクの分け方と検索設定です。1チャンクが大きすぎると無関係な情報が混ざり、小さすぎると文脈が切れます。まずは既定値で作り、うまく答えられない箇所があればチャンクサイズや検索件数を調整する、という順で進めるのが現実的です。
チャンキング戦略・埋め込みモデルの選定・Rerankなど、RAGの内部設計を実務レベルで詰めたいときは、辞典側のreference/rag-design.mdを参照してください。RAGの一般理論(Difyに依存しない部分)は../tools/rag/にあります。
具体例
ある中小企業のAさんは、就業規則のPDFをナレッジに取り込み、QAボットに紐づけました。「有給は入社何ヶ月から取れる?」と聞くと、規則の該当箇所を根拠に回答が返りました。RAGを外した状態(LLM単体)で同じ質問をすると、一般論を答えてしまい自社の規則とは違う内容になりました。この差を体感したことで、Aさんは「自社の答えを出すにはRAGが要る」と腹落ちしました。
ミニ演習
問題: RAGと「チャットAIに毎回ファイルを貼り付けて質問する」やり方の、運用上の違いを1つ挙げてください。
答え: RAGは一度取り込めば毎回貼り付ける必要がなく、複数人が同じ知識を使える(貼り忘れも防げる)。また関連箇所だけを検索して渡すため、長大な文書でも扱える。
解説: ファイル貼り付け方式は毎回の手間と貼り忘れが起き、扱える文書量にも上限があります。RAGは検索によって関連部分だけをLLMに渡すため、大量の文書を対象にでき、公開URL経由で誰でも同じ品質の回答を得られます。ここが実務での決定的な差です。
この章のまとめ
- RAGは「関連文書を検索してからLLMに答えさせる」手法で、自社文書に根拠を持って答えられる
- Difyでは文書をアップロードしてナレッジを作り、アプリに紐づけるだけで動く
- チャンクサイズと検索件数が品質を左右する。まず既定値、次に調整の順で進める
次に読む
05-cloud-vs-selfhost.md— 第5章 クラウドとセルフホストを使い分ける