【Dify】Lesson5-1:RAGアプリ入門|社内FAQチャットボットを作ろう

社内のルール、手順書、福利厚生、申請フローなど、「会社の中にしかない情報」をチャットで答えられたら便利ですよね。
けれど、ChatGPTにそのまま質問しても、社内資料を読んでくれるわけではありません。
そこで登場するのが RAG です。
この記事では、Difyのナレッジ(データセット)を使って、社内資料を根拠に回答する「社内FAQチャットボット」を作ります。
最初にRAGまわりで頻出する用語を整理してから、実際のアプリ開発に入ります。
焦らず、まずは「RAGは何を解決する仕組みなのか」を押さえて進めていきましょう。
Lesson1:Dify入門|環境構築と最初の生成AIアプリ開発
Lesson2:まずは体験|基本的なアプリを4つ作ろう
Lesson3:文章業務の自動化|実務で使えるアプリを開発しよう
Lesson4:ファイル処理で広がるDifyアプリ開発
Lesson5:RAG実践|ナレッジ検索アプリを作ろう
・Lesson5-1:RAGアプリ入門|社内FAQチャットボット ◁今回はここ
・Lesson5-2:ナレッジの詳細設定方法と考え方
・Lesson5-3:賢いRAGアプリを作ろう|クエリ変換とメモリ活用
Lesson6:機能拡張と外部システム連携|ツールを使いこなそう
Lesson7:総仕上げ|準備を整えて生成AIアプリ開発者へ
DifyのRAGとは:ナレッジ検索で根拠付き回答を作る仕組み
RAG(Retrieval Augmented Generation)は、質問に関連する情報をナレッジ(社内FAQや規程など)から検索し、その検索結果を “根拠テキスト” としてLLMに渡したうえで回答を生成する手法です。
つまり、LLMが記憶や推測だけで答えるのではなく、「検索で得た根拠に基づいて答える」状態を作れます。

RAGの基本フロー:検索(Retrieval)→生成(Generation)
RAGの動きはシンプルで、基本は次の3ステップです。
ポイントはLLMがいきなり答えを作るのではなく、先にナレッジ(社内FAQや規程など)から関連部分を取り出して、それを材料に答えることです。
- ユーザーの質問を受け取る
- ナレッジから関連する文章を検索する
- 検索結果(コンテキスト)を根拠にLLMが回答する
この「検索結果=コンテキスト」があることで、回答がふわっとしにくくなり、「それどこに書いてあるの?」に強いアプリになります。
検索結果(コンテキスト)をLLMプロンプトで参照する
DifyのRAGは、ナレッジ検索で見つかった文章が「コンテキスト」としてLLMに渡る仕組みになっています。
今回開発する社内FAQチャットボットも、ワークフローは次の流れです。
ユーザー入力 → 知識検索 → LLM → 回答
LLM側では、プロンプト内に「ナレッジ検索結果(コンテキスト)」を差し込む枠があり、そこに検索結果が入ります。
つまり、LLMは “検索で拾えた文章” を見ながら答えることになります。
実務向け設計:根拠がない場合は「不明」と返すルール
社内向けのFAQで怖いのは、知ったかぶりの回答です。
Difyではプロンプトでルールを明確にできるので、次のような実務向けの動きを作れます。
たとえば今回開発するアプリでは、以下のように設定します。
コンテキストに根拠がないことは推測で補わず、「ナレッジベース内に記載が見つかりません」と出力する
この1文が入るだけで、RAGアプリは一気に “使える道具” に寄ります。
正答率を上げるというより、誤答で信用を落とさない設計ができるのが大きいです。
精度が出ない原因:ナレッジ不足/検索ミス/要約ミス
RAGがうまくいかない原因は、だいたい次のどれかです。
- そもそもナレッジ側に答えが無い
- あるのに検索で拾えていない
- 拾っているのに、LLMがうまく要約できていない
今回は細かい設定の解説はせず、まず「動く社内FAQチャットボット」を完成させます。
そのうえで Lesson5-2、5-3 で、ナレッジの詳細設定やクエリ変換、メモリ活用などを使いながら、検索の当て方と回答の安定感を段階的に上げていきます。
ここから先は会員向けの限定テキストになります。
当サイトの概要や特徴、無料で読める範囲 等は Dify学習館のトップページ をご確認ください。
すでに購入済みの方はこちら




