Difyの使い方|ナレッジを使うチャットボットとワークフローの作り方

Difyの使い方。ナレッジ・チャットフローを紹介する記事のアイキャッチ

Difyの使い方は、「AIモデルを設定する」「アプリを作る」「テストする」「公開する」の4段階です。ノード(処理の部品)を画面上でつないでアプリを組み立てるため、簡単なアプリはコードを書かずに作れます。

この記事では、Dify Cloudの公式ドキュメントの手順に沿って、2つのアプリの作り方を説明します。1つは資料をもとに質問に答えるチャットボット(ナレッジへの文書の登録からチャットフロー、テスト、公開まで)、もう1つは問い合わせメールを要約するワークフローです。

  • Difyでアプリを作る前の準備(AIモデルの設定)
  • ナレッジを使うチャットボットの作り方(文書の登録→チャットフロー→テスト→公開)
  • 文章を処理するワークフローの作り方
  • 無料プランの上限と、使うときの注意点

画面の名前は公式ドキュメントの日本語版の表記に合わせ、必要に応じて英語版の表記を括弧で添えています。日本語版のドキュメントは自動翻訳のため、実際の画面の表記と違う場合があります。Difyの概要やアカウントの作り方は「Difyとは?読み方・できること・料金・始め方」で紹介しています。

Dify Cloudへのログインとアカウントの作り方は「Difyのログイン方法」で説明しています。

目次

Difyの使い方の流れ

Dify Cloudでアプリを作って使うまでの流れは、次のとおりです。

スクロールできます
段階やること主な画面
1. 準備使うAIモデルの提供元を追加し、標準で使うモデルを選ぶ「統合」→「モデルプロバイダー」
2. 資料の登録資料をもとに答えるアプリなら、文書をナレッジに登録する「ナレッジ」
3. アプリの作成アプリの種類を選び、ノードをつないで処理を組み立てる「スタジオ」
4. テスト入力を試して、結果と各ノードの動きを確認する編集画面の「プレビュー」「テスト実行」
5. 公開Webアプリ・埋め込み・APIとして使えるようにする「公開する」→「アクセスポイント」

アプリの種類は、会話を続けるアプリなら「チャットフロー(Chatflow)」、1回の入力に1回結果を返すアプリなら「ワークフロー(Workflow)」を選びます。公式ドキュメントでは、チャットフローは利用者がメッセージを送るたびに動き、最後に「回答」ノードが必要です。ワークフローは最初から最後まで1回実行され、結果は「出力」ノードで返します。

Difyでアプリを作る前の準備

アプリを作る前に、使うAIモデルを設定します。公式のクイックスタートの手順は次のとおりです。AIモデルの設定を管理できるのは、ワークスペースのオーナーと管理者です。

  1. 「統合」→「モデルプロバイダー」を開き、使うAIモデルの提供元(OpenAIなど)をインストールする
  2. 同じ画面の右上にある「デフォルトモデル」で、標準で使うモデルを選ぶ。文章を作るモデルは「システム推論モデル」、ナレッジの検索に使うモデルは「埋め込みモデル(Embedding Model)」で指定する

Dify Cloudでは、クレジットに対応した提供元のモデルなら、自分のAPIキーを入力しなくても使えます。無料のSandboxプランのクレジットは200の1回限りです。自分のAPIキーを追加すると、そのモデルの利用料は提供元から自分に請求されます。デフォルトモデルが空のままだと、そのモデルを使う機能が動かないと公式ドキュメントで注意されています。

モデルごとのクレジットの消費量は「Difyの料金プラン」で説明しています。

Difyで作れるアプリの例

この記事で手順を説明する2つのアプリと、公式のクイックスタートで作るアプリを、入力・処理・出力で比べると次のようになります。

スクロールできます
アプリ種類入力処理出力
資料をもとに答えるチャットボットチャットフロー利用者の質問ナレッジから関係する部分を検索し、その内容をもとにAIが回答を作るチャットの回答(参照した資料の表示つき)
問い合わせメールの要約ワークフロー問い合わせメールの本文AIが要点と返信の下書きを作る要約と返信の下書きの文章
SNS投稿の作成(公式のクイックスタート)ワークフロー下書き、参考資料、投稿先のSNS、言語投稿先ごとに書き方の方針を調べ、投稿文を作るSNSごとの投稿文

Difyでナレッジを使うチャットボットを作る手順

社内のマニュアルや製品の説明書などを登録し、その内容をもとに質問へ答えるチャットボットを作ります。公式ドキュメントの「ナレッジベースを使ったカスタマーサービスボット」のチュートリアルと、ナレッジ・各ノードのページの手順をもとにしています。

利用者の質問から登録資料を検索しAIが回答を作って表示するDifyの流れ
ナレッジ検索で質問に関係する資料を取り出し、AIへ回答の材料として渡す構成例。

Difyのナレッジには、従来からある「すぐに使えるナレッジベース」と、Agent向けのナレッジベースがあります。Agent向けのナレッジベースを検索するノードはベータ版のため、この記事では従来のナレッジベースで説明します。

1. ナレッジに文書を登録する

「ナレッジ」→「作成」→「すぐに使えるナレッジベースを作成」を選び、データソースを選びます。データソースは「ローカルファイルをアップロード」「Notion データをインポート」「Web サイトからデータをインポート」「空のナレッジベースを作成」の4つです。手元の文書を使う場合は、ローカルファイルをアップロードします。

データソースは、ナレッジベースを作ったあとに変更できません。アップロードできるファイルの大きさと数はプランで違い、Sandboxプランは1回に1ファイル・1ファイル15MBまで、ProfessionalとTeamは1回に50ファイル・1ファイル50MBまでです。

2. 文書の分割(チャンク)とインデックスを設定する

アップロードした文書は、検索しやすいように短いまとまり(チャンク)に分割されます。分割の方法と、検索のためのインデックスの方法を選びます。

スクロールできます
設定選択肢内容
チャンクのモード汎用モード(General)/親子モード(Parent-child)汎用モードは区切り文字と最大チャンク長で分割する。親子モードは、質問との照合に小さなチャンク(子)を使い、一致したら大きなまとまり(親。段落か文書全体)を回答の材料として渡す。親子モードはインデックスが高品質の場合だけ使える。モードはナレッジベースを作ったあとに変更できない
インデックスの方法高品質(High Quality)/エコノミー(Economical)高品質は埋め込みモデルで文章の意味を数値に変えて検索する。エコノミーはトークンを使わず、チャンクごとに10個のキーワードで検索するが、精度は下がる。高品質で作ったナレッジベースは、あとからエコノミーに変更できない
検索の方法(高品質の場合)ベクトル検索/全文検索/ハイブリッド検索ベクトル検索は意味の近さ、全文検索は語句の一致で探す。ハイブリッド検索は両方を同時に使う
TopK・Scoreしきい値初期値はTopK 3、Scoreしきい値 0.5TopKは取り出すチャンクの数、Scoreしきい値は取り出すのに必要な類似度の下限

分割の設定画面の「プレビュー」で、分割の結果を確認できます。設定を保存すると文書の処理が始まり、処理が終わると文書をアプリで使えるようになります。チュートリアルでは、分割された内容を文書のページで見て、関係のないチャンクを無効にしたり、途中で切れた段落を直したりすることもすすめています。

3. 検索テストで検索結果を確認する

アプリを作る前に、ナレッジベースの左側のメニューにある「検索テスト」で、利用者が入力しそうな質問を試します。質問に関係する部分が取り出されるかを確認し、取り出されない場合は分割や検索の設定を見直します。検索テストの画面で変えた検索の設定は、そのテストの間だけ使われ、ナレッジベースの設定には保存されません。

4. チャットフローを作る

「スタジオ」→「空白から作成」で「チャットフロー(Chatflow)」を選び、名前を付けて作成します。編集画面(キャンバス)が開き、ここにノードを追加してつなぎます。

5. ユーザー入力・知識検索・LLM・回答のノードをつなぐ

公式ドキュメントで紹介されている基本の組み合わせは、「ユーザー入力」→「知識検索」→「LLM」→「回答」の4つのノードです。

スクロールできます
ノード役割主な設定
ユーザー入力(User Input)利用者のメッセージを受け取るチャットフローでは、最新のメッセージがuserinput.queryという変数に入る
知識検索(Knowledge Retrieval)ナレッジから質問に関係する部分を探す「クエリテキスト」にuserinput.queryを選び、検索するナレッジベースを追加する。結果はresultという変数に入る
LLMAIモデルで回答を作る「コンテキスト」に知識検索のresultを選び、システムの指示の中でコンテキストを参照する
回答(Answer)利用者に回答を返すLLMが作った文章(text)を入れる

LLMノードの指示の書き方は自由です。たとえば次のように、資料に書かれていることだけで答えるよう指示します。変数は、入力欄で「{」か「/」を入力すると一覧から選べます。

次のコンテキストの内容だけを使って、利用者の質問に日本語で答えてください。コンテキストに答えが書かれていない場合は、「資料に記載がありません」と答えてください。

前の質問を踏まえて答えさせたい場合は、LLMノードの「メモリ」を有効にします。公式ドキュメントによると、メモリは同じ会話の中でだけ使われ、別の会話には引き継がれません。

6. プレビューで動作を確認する

編集画面の「プレビュー」を開き、質問を入力して回答を確認します。確認するのは、回答が登録した資料の内容と合っているか、資料に無い質問のときに指示どおりの答え方になるか、の2点です。チャットフローでは、ナレッジをもとにした回答に、参照した資料が標準で表示されます。表示したくない場合は、キャンバス右上の「Features」で「Citation and Attributions」をオフにします。

うまく答えられないときは、どのノードで問題が起きているかを見ます。各ノードの設定画面の「最後の実行」では、そのノードの入力・出力・かかった時間を確認できます。知識検索で関係する部分が取り出せていない場合はナレッジの設定、取り出せているのに回答が合わない場合はLLMの指示やモデルを見直します。

7. 公開してWebアプリとして共有する

編集画面の右上の「公開する」を選ぶと、アプリが使える状態になります。「アクセスポイント」のタブで、Webアプリのリンク、Webサイトへの埋め込み、API、MCPサーバーの設定を確認できます。

  • Webアプリ:アプリごとに自動で作られます。リンクを受け取った人は、Difyにログインしなくても使えます
  • Webサイトへの埋め込み:チャットのウィジェットやインラインフレームとして、自分のWebページに組み込めます
  • API:自分のサービスやシステムからアプリを呼び出せます。APIキーは「アクセスポイント」で発行します

公開したあとに設定を変えた場合は、「公開する」→「更新を公開」を選ぶまで、利用者が使うアプリは前の状態のままです。公開後の利用状況は、左側のメニューの「ログ(Logs)」や「モニタリング(Monitoring)」で確認できます。

Difyで文章を処理するワークフローを作る手順

次は、問い合わせメールの本文を入力すると、要点と返信の下書きを返すワークフローです。公式のクイックスタートで使われている「ユーザー入力」「LLM」「出力」のノードだけで組み立てます。

1. ワークフローを作成して入力欄を用意する

「スタジオ」→「空白から作成」→「ワークフロー」を選び、名前を付けて「作成」します。最初からある「ユーザー入力」ノードを選び、入力欄を追加します。

  • 入力欄の種類:長い文章を受け取るので「段落」を選ぶ(「短いテキスト」は256文字まで)
  • 変数名:あとのノードで参照する名前。この例ではemailにする
  • 必須:空のまま実行されないよう、必須にする

入力欄の種類には、このほかに「選択」(選択肢から選ぶ)、「数値」、「チェックボックス」、ファイルを受け取る「単一ファイル」「ファイルリスト」などがあります。

2. LLMノードで要約と返信の下書きを作る

ユーザー入力の後ろにLLMノードを追加し、使うモデルを選びます。システムの指示に処理の内容を書き、ユーザーのメッセージに入力欄のemailを変数として入れます。指示の例は次のとおりです。

入力された問い合わせメールについて、次の2つを日本語で作成してください。1. 問い合わせの要点を3つ以内の箇条書きで。2. 丁寧な返信の下書き。メールに書かれていない日付・金額・約束は書かないでください。

LLMノードが作った文章はtextという変数に入ります。決まった形式で受け取りたい場合は、LLMノードの「構造化出力」を有効にして、JSONの形式を指定する方法もあります。

3. 出力ノードで結果を返す

LLMノードの後ろに「出力」ノードを追加し、出力する変数にLLMノードのtextを選びます。公式のクイックスタートでは、複数の結果を決まった見た目に整える場合に「テンプレート」ノードを使っています。テンプレートノードはAIモデルを使わない処理なので、トークンを消費しません。

4. テスト実行して公開する

公式のクイックスタートの手順では、まず「チェックリスト」に未設定の項目が残っていないかを確認します。次に右上の「テスト実行」を選び、入力欄にメールの本文を入れて「実行開始」を選びます。エラーが出たときは、そのノードの「最後の実行」の記録を見ます。

テストには、架空の問い合わせメールなど、外部に出ても問題のない文章を使うことをおすすめします。要約に元のメールに無い内容が入っていないか、日付や金額が正しく残っているかを確認し、必要なら指示を直します。

結果に問題がなければ「公開する」→「更新を公開」を選びます。公開したワークフローは、Webアプリとして使うほか、CSVファイルで複数の入力をまとめて処理する「Run Batch」でも実行できます。CSVは、画面からダウンロードできるテンプレートに合わせて作ります。

公式のクイックスタートで使われているほかのノード

公式のクイックスタート(SNS投稿の作成)では、次のノードも組み合わせています。処理を増やしたくなったときの参考にしてください。

スクロールできます
ノード(英語版の表記)クイックスタートでの使い方
Parameter Extractor「TwitterとLinkedIn」のような入力から、投稿先のSNSの名前を一覧として取り出す
IF/ELSE投稿先を取り出せなかった場合に、エラーの文章を返す分岐を作る
Doc Extractorアップロードされた文書を文章に変換する
Iteration投稿先のSNSごとに、同じ処理を繰り返す
TemplateSNSごとの投稿文を、見出しつきの決まった形に整える

Difyを使うときの注意点

AIモデルを呼び出すたびにクレジットを消費する

Dify Cloudのクレジットは、AIモデルを1回呼び出すたびに消費します。1回に消費する数はモデルによって違い、文章の長さでは変わりません。LLMノードが2つあるワークフローなら、1回の実行で2回分を消費します。無料のSandboxプランのクレジットは200の1回限りなので、試すときは消費量の少ないモデルを選ぶと回数を多く試せます(2026年10月時点)。プランごとのクレジットはDifyの料金ページで確認できます。

無料プランのナレッジの上限

2026年10月時点の料金ページでは、Sandboxプランのナレッジは50文書・50MBまで、ナレッジへのリクエストは1分あたり10回まで、作れるアプリは5個までです。試すときは、数ファイルの小さな資料から始めると上限に届きにくくなります。

あとから変更できない設定がある

ナレッジベースのデータソースとチャンクのモードは、作成後に変更できません。インデックスの方法も、高品質からエコノミーへは戻せません。迷った場合は、小さなナレッジベースで試してから本番用を作ることをおすすめします。

Webアプリのリンクを知っている人は誰でも使える

公式ドキュメントによると、公開したWebアプリは、標準ではリンクを知っている人なら誰でも使えます。社外に見せたくない資料を登録したアプリは、リンクの共有先に注意します。

入力した文章はAIモデルの提供元へ送られる

OpenAIなど外部のAIモデルを使う場合、入力した文章や、ナレッジから取り出した資料の内容は、その提供元へ送られます。AIの回答は、元の資料や事実と照らし合わせてから使いましょう。

Difyの使い方に関するよくある質問

チャットフローとワークフローは、どちらを選べばよいですか?

利用者と会話を続けるチャットボットならチャットフロー、文章を入れて1回結果を受け取るアプリならワークフローです。決まった時刻や外部サービスからの通知をきっかけに自動で動かす(トリガー)のは、ワークフローだけです。

Difyはプログラミングができなくても使えますか?

この記事の2つのアプリは、ノードの設定と指示の文章だけで作れます。ほかのシステムとAPIでつなぐ場合や、コードのノードを使う場合は、プログラミングの知識が必要になります。

作ったアプリを日本語で使えますか?

アプリが返す言葉は、LLMノードの指示と選んだモデルで決まります。指示に「日本語で答えてください」と書くと、日本語の回答を求められます。Difyの画面の表示言語の設定は、作ったアプリの中身には影響しません。

まとめ

Difyの使い方は、AIモデルを設定し、アプリを作り、テストしてから公開する流れです。

  • 最初に「統合」→「モデルプロバイダー」で提供元を追加し、「デフォルトモデル」を選ぶ
  • 資料をもとに答えるチャットボットは、ナレッジに文書を登録し、「ユーザー入力」→「知識検索」→「LLM」→「回答」でつなぐ
  • 文章を処理するワークフローは、「ユーザー入力」→「LLM」→「出力」が基本の形
  • 「プレビュー」や「テスト実行」で確認し、「公開する」でWebアプリ・埋め込み・APIとして使う。変更後は「更新を公開」が必要
  • 無料のSandboxプランはクレジット200(1回限り)、ナレッジ50文書・50MBまで

まずは数ファイルの資料と消費量の少ないモデルで、小さなアプリを作ってみてください。DifyとMicrosoft Copilotを組み合わせる方法は「DifyとCopilotの連携方法は?」で紹介しています。

自分のサーバーでDifyを動かす場合は「Difyのセルフホスト方法」、サービス同士をつなぐ自動化を作る場合は「n8nの使い方」も参考にしてください。

Dify・n8n・Zapierの違いと料金の数え方は「AI自動化ツールの選び方」で比べています。

この記事を書いた人

AI-Riseの企画・編集を担当。日常業務のあらゆる場面でAIをフル活用。AIツールの活用や業務自動化をテーマに、使い方・選び方・利用時の注意点をわかりやすく紹介しています。公式情報と実際の活用経験をもとに、便利な点だけでなく、費用や手間、できることの範囲も整理。仕事や日々の作業に合うツール選びをお手伝いします。

目次