DifyでのRAGの作り方を手順で解説|ワークフローでのナレッジ紐付けまで

この記事の結論
・Difyのアカウント作成と適切なドキュメント準備がRAG構築の第一歩

・ナレッジベースを作成しチャットボットの「コンテキスト」に紐付けることで独自データを学習させる

・プロンプト設定とプレビューでの引用確認を行い、回答精度を高めてから公開する

Difyを活用して、独自のデータ(PDFやドキュメント)を回答ソースとする「RAG(Retrieval-Augmented Generation)」チャットボットを構築したいと考えていても、具体的な手順や設定項目が多く、どこから手をつければよいか迷ってしまうことがあります。

本記事では、Difyを使ってRAGチャットボットを作成するための操作手順を、アカウント作成から公開までステップごとに解説します。

専門的なプログラミング知識がなくても、手順通りに進めることで、手元の資料を読み込んだチャットボットが動作する状態を目指します。

【法人向け】現場で使える実践型AI研修!

株式会社KAGEMUSHAのAI研修は、現場業務に直結する実践型カリキュラムで、AI活用を「知識」で終わらせず「使えるスキル」として定着させます

DX担当者・現場メンバーそれぞれのレベルに合わせ、生成AI・業務自動化・AIエージェント活用まで幅広く対応。

対面からオンライン・eラーニングと幅広い研修形式に対応しており、内製化や業務改善につながる設計が強みです。

研修内容・導入事例・カリキュラム詳細は、こちらのAI研修資料でご確認ください。

AI研修資料
目次

DifyでRAGを作る前に準備するもの(前提)

RAGチャットボットを作成するには、まずDifyを利用できる環境と、AIに学習させるための元データが必要です。ここでは作業を始めるための前提条件を整えます。

Difyアカウントの作成とログイン手順

Difyを利用するには、クラウド版(SaaS)を利用するか、自身のサーバーにオープンソース版をインストールする方法があります。ここでは、すぐに利用を開始できるクラウド版の手順を解説します。

  1. 公式サイトへアクセスする
    WebブラウザでDifyの公式サイト(dify.ai)にアクセスし、「Get Started」または「始める」ボタンをクリックします。
  2. アカウント登録を行う
    ログイン画面が表示されます。GitHubアカウント、Googleアカウント、またはメールアドレスを使用して登録を行います。
    ※Googleアカウント等を使用すると、認証のみで即座にログインが完了します。
  3. スタジオ画面の確認
    ログインが完了すると、ダッシュボードである「スタジオ」画面が表示されます。この画面が、アプリ作成やナレッジ管理の起点となります。

学習させるデータ(ドキュメント)の用意

RAGの回答精度は、参照させるデータの質に依存します。以下のポイントを押さえて、アップロード用のファイルを用意します。

まず、ファイル形式の確認を行います。PDF、TXT、Markdown、DOCXなどのテキストデータが含まれるファイルを用意してください。

画像化されたPDF(スキャンデータ)ではなく、テキスト選択が可能なファイルを用意しましょう。

次に、データの内容整理を行います。1つのファイルに複数のトピックが混在している場合、AIが情報を検索しにくくなることがあります。

可能であれば、トピックごとにファイルを分けるか、見出しを明確につけたドキュメントを用意します。

【Step1】知識となる「ナレッジベース」を作成する

DifyでRAGを実現するためには、まず用意したドキュメントをDify内に取り込み、「ナレッジ」として登録する必要があります。

ナレッジの新規作成とファイルアップロード

Difyの画面上部にあるメニューから「ナレッジ」タブをクリックし、画面右上(または中央)にある「ナレッジを作成」ボタンをクリックします。

「データソースをお選びください」という画面で、「テキストファイルからインポート」を選択します。

用意したドキュメントファイルを、アップロードエリアにドラッグ&ドロップし、ファイルがリストに表示されたら「次へ」をクリックします。

テキストの前処理とインデックス設定

アップロードしたテキストをAIが検索しやすい形に処理する設定を行います。

分割とクリーニング設定は、通常「自動」設定のままで問題ありません。Difyが自動的にテキストを適切な長さに分割(チャンク化)し、不要な文字をクリーニングします。

続いて、インデックスモードの選択を行います。

  • 高品質(High Quality):OpenAIなどのEmbeddingモデルを使用し、意味検索を行います。精度は高いですが、トークン消費が発生します。
  • 経済的(Economical):キーワード検索(Keyword Search)を使用します。トークンを消費せず、オフラインでも動作しやすい設定です。

精度を重視する場合は「高品質」、コストを抑えるなら「経済的」を選択します。

設定を確認し、画面右下の「保存して処理」ボタンをクリックします。ドキュメントの解析とインデックス化が始まり、ステータスが「利用可能」になればナレッジベースの作成は完了です。

【Step2】チャットボットを作成しナレッジを紐付ける

ナレッジの準備ができたら、それを利用して回答するチャットボット(アプリ)を作成します。

「最初から作成」でチャットボットを立ち上げる

画面上部メニューの「スタジオ」に戻り、「最初から作成」ボタンをクリックします。

作成ダイアログが表示されたら、アプリのタイプで「チャットボット」を選択し、任意の名前(例:社内規定QAボット)を入力します。

「作成する」ボタンをクリックすると、アプリの編集画面(オーケストレーション画面)が開きます。

「コンテキスト」にナレッジベースを追加する

ここがRAG化するための最も重要な手順です。

編集画面の左側にある設定パネルの中に、「コンテキスト(Context)」という項目があります。

「追加」ボタンをクリックし、リストから【Step1】で作成したナレッジを選択して「追加」します。これで、チャットボットが回答を作成する際に、指定したナレッジを参照するようになります。

RAG用のプロンプトを設定する

AIに対して「ナレッジに基づいて回答する」よう指示を出します。「コンテキスト」項目の上にある「プロンプト(Prompt)」欄を確認してください。

Difyのチャットボットモードでは、コンテキストに追加したナレッジの内容が自動的に参照される設定になっている場合が多いですが、明示的に指示を与えることで精度が安定します。

プロンプト欄に以下のような指示を記述します。

あなたは役に立つアシスタントです。
以下の「コンテキスト」に含まれる情報のみを使用して、ユーザーの質問に回答してください。

コンテキスト:
{{#context#}}

「{{#context#}}」は手入力ではなく、候補からクリックして挿入しましょう。

【Step3】動作テストとアプリの公開

設定が完了したら、実際に動作を確認し、利用可能な状態にします。

プレビュー機能で回答精度を確認する

画面右側にあるプレビューウィンドウを使用します。ここに入力した内容は、実際のアプリと同じ挙動で処理されます。

アップロードしたドキュメントに含まれる内容について質問を入力し、送信してください。

AIがドキュメントの内容に基づいて回答しているか確認します。一般的な知識ではなく、資料固有の情報が含まれていれば成功です。

「引用と帰属」を確認して公開する

回答の下部に「引用」や「参照元」として、使用したドキュメントの箇所が表示されているか確認します。これにより、回答の根拠が明確になります。

引用が表示されない場合、「機能を追加」メニューから「引用と帰属」をONにしてください。

動作に問題がなければ、画面右上の「公開する」ボタンをクリックし、「更新」を選択します。これでアプリが保存され、公開URLを通じて利用できる状態になります。

DifyのRAG精度を上げるコツとトラブル対処

作成したRAGチャットボットが期待通りに動かない場合や、さらに使いやすくするためのポイントを解説します。

期待した回答が返ってこない時のチェックリスト

回答が不正確な場合は、以下を確認します。

  • コンテキストへの反映:プレビュー画面のログを確認し、質問に関連するテキストが正しく「引用」されているか確認します。
  • プロンプトの制約:「コンテキストにない情報は回答しないでください」とプロンプトに明記することで、AIの幻覚(ハルシネーション)による嘘の回答を防ぐことができます。

インデックスモード「経済的」と「高品質」の使い分け

経済的(Keyword Search)は、単語の一致を重視します。製品型番や固有名詞など、明確なキーワードで検索する場合に適しています。

高品質(High Quality)は、文章の意味(ベクトル)で検索します。「〜の使い方は?」のような、キーワードが完全一致しない自然言語での質問に対して強いです。

対応しているファイル形式と注意点

文字情報を持たない画像のみのPDF(スキャンデータなど)は、そのままではテキストとして認識されません。OCRソフトなどでテキストデータ付きPDFに変換してからアップロードする必要があります。

また、複雑なExcelや表組みは、テキスト化される際に構造が崩れることがあります。

表形式のデータはCSVやMarkdownに変換してからアップロードすると認識されやすくなります。

まとめ

DifyでRAGチャットボットを作成する手順は以下の通りです。

  1. ナレッジの作成:ドキュメントをアップロードし、インデックス処理を行う。
  2. アプリの作成と紐付け:チャットボットを作成し、「コンテキスト」にナレッジを追加する。
  3. プロンプト設定:ナレッジを参照して回答するようAIに指示を与える。
  4. テストと公開:プレビューで回答と引用元を確認し、アプリを公開する。

まずは手元のマニュアルや規定集などを1つアップロードし、実際に質問に対して回答が返ってくるか試してみてください。

基本的な動作が確認できたら、インデックス設定の見直しやプロンプトの調整を行い、回答精度を高めていきましょう。

【法人向け】現場で使える実践型AI研修!

株式会社KAGEMUSHAのAI研修は、現場業務に直結する実践型カリキュラムで、AI活用を「知識」で終わらせず「使えるスキル」として定着させます

DX担当者・現場メンバーそれぞれのレベルに合わせ、生成AI・業務自動化・AIエージェント活用まで幅広く対応。

対面からオンライン・eラーニングと幅広い研修形式に対応しており、内製化や業務改善につながる設計が強みです。

研修内容・導入事例・カリキュラム詳細は、こちらのAI研修資料でご確認ください。

AI研修資料

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事の監修者

株式会社BuzzConnection/株式会社KAGEMUSHA 代表取締役CEO

2021年に独立し、株式会社BuzzConnectionを設立。複数の事業を運営し、現在はAIを活用したWebアプリケーションの開発、運用や生成AIの普及を目的としたセミナー研修の開催など多角的に活躍している。
2023年4月に株式会社KAGEMUSHAを創業。AI事業に大きく事業を展開。
AIアバターやデジタルヒューマン、AIチャットボット、AI研修など幅広い視点からAIの業務効率化を支援。

目次