16
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Dify入門】ワークフローでRAGしてみる

Last updated at Posted at 2025-07-29

はじめに

Difyではいくつかのアプリケーションタイプに基づいて、簡単にアプリケーションを作成することができます。
今日はその一つの「ワークフロー」を利用して、RAGの基本動作を実装してみます。
ワークフローでRAGを実装することで、この構成を応用し、より複雑なRAGベースのアプリケーションにも展開できます。

まずは基本を押さえるためにシンプルなワークフローを作ってみます。

Difyのアプリケーションタイプ

Difyでは、いくつかの型から選んでアプリケーションが作成できます。
主なアプリケーションタイプは次のとおりです。

種類 説明
チャットボット 簡単なセットアップの LLM ベースのチャットボット
エージェント 推論と自律的なツールの使用を備えたインテリジェントエージェント
チャットフロー メモリを使用した複雑なマルチターン対話のワークフロー
ワークフロー インテリジェントな自動化のためのエージェントフロー
テキストジェネレーター プロンプトに基づいて高品質のテキストを自動生成するワークフロー

手順

0. 全体の流れ

以下のような4つのノードで構成された、シンプルなフローを作成します。

開始
 ↓
知識検索
 ↓
LLM
 ↓
終了

image.png

1. ナレッジベースに対象ドキュメントを登録

事前に参照するドキュメントをナレッジベースに登録しておきます。

image.png

ファイルをアップロードしてベクトル化、保存します。
image.png

image.png

2. ワークフローの作成

「最初から作成」をクリックして、その中から「ワークフロー」の形でアプリケーションを作成します。
image.png

3. ノードの追加

先に今回使う4つのノードを枠だけ用意しておきます。
image.png

4. 開始

開始ノードを設定します。
「入力フィールド」セクションで➕をクリックし、以下の内容で入力フィールドを追加します。

  • フィールドタイプ:短文
  • 変数名:query
  • 最大長:任意(最大256)
    image.png

5. 知識検索

ナレッジベースから必要な情報を検索する「知識検索」のノードを設定します。
image.png

  • 検索変数:開始ノードで指定した「query」変数を選択します。
    image.png

ナレッジベースの➕を押します。
image.png
登録されている一覧が表示されるので、1. で登録したドキュメントを選択して追加をクリックします。
image.png

ここまで設定できたら、一度知識検索のノードだけでテストしてみます。

image.png

知識検索ノードで出力されたデータがどのような構造になっているか、設定画面の「出力変数」から確認することができます。

image.png

result Array[Object] オブジェクトの配列として返されることが分かります。
この後のLLMで使っていきます。

6. LLM

知識検索ノードで得られた複数の検索結果をLLMに渡し、ユーザーの質問に対する適切な回答を生成します。

  • AIモデル:任意(ここではOCI Generative AIのGrok-4を選択しました。)
  • コンテキスト:知識検索/result Array[Object]  ※このコンテキストをユーザープロンプトに含めておきます
  • システムプロンプト:例)あなたは人事部の担当者です。社内規定に基づき、従業員の質問に正確かつ丁寧に答えてください。必要に応じて箇条書きや簡潔な説明で補足してください。
  • ユーザープロンプト:例)
#ユーザーからの質問
{{#開始.query#}}

#社内規定
{{#context#}}

image.png

7. 終了

最後のノードです!
LLMノードで出力された回答を出力変数に設定します。
image.png

8. 完成!

無事アプリが完成しました。
早速試してみます。

▶️実行からテストランしてみるか、もしくは公開するから「更新を公開」してアプリを実行から実際のアプリケーション画面で試してみます。
image.png

休暇の種類について尋ねたところ、いくつかある休暇制度を簡潔にまとめてくれました。
image.png

成功です!

おわりに

本記事で紹介した構成は、RAGの基本的な活用方法です。
次はさらに複雑なワークフローや他のノードを使ったアプリに挑戦していきます。

16
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?