はじめに
ども!Difyを学ぶ時間を捻出する日々な龍ちゃんです。入門ガイド第2弾です。第一弾では「Dify入門ガイド:初期セットアップ」と題して、検証環境にアクセスするまでを紹介していました。今回は、Difyで構築することができる基礎的なアプリの種類に関してまとめていきたいと思います。
![](https://i0.wp.com/tech-lab.sios.jp/wp-content/uploads/2025/02/bff91cdcad90311688f0939dda270154.png?resize=880%2C494&ssl=1)
- チャットボット
- エージェント
- テキストジェネレーター
- チャットフロー
- ワークフロー
初心者向けで特定要件に併せたアプリから、上級ユーザー向け(ちょっと開発者より)で要件に併せたアプリまで様々なアプリを作成することができます。ここでは、基礎的な使い方をする場合の説明を行っていきます。「ワークフロー」や「チャットフロー」については、上級的な使い方なので、できることよりも現状できないことを探したほうが良いです。
![龍](https://i0.wp.com/tech-lab.sios.jp/wp-content/uploads/2025/02/profile-mini.png?resize=80%2C80&ssl=1)
今回はDifyをセットアップして5分以内でお試しできるアプリの紹介をしていきます!
チャットボット:対話型のAIアシスタント
![](https://i0.wp.com/tech-lab.sios.jp/wp-content/uploads/2025/02/3e3562dce116663787c8894a1b72228d.jpg?resize=880%2C660&ssl=1)
チャットボットでは、対話型AIアシスタントの構築が簡単に可能です。アプリを開いた時点で、チャットボットの構築自体は完成しています。追加で設定を加えることで、目的に沿ったアプリとして構築することができます。
設定できる項目としては、以下のようなパラメーターがあります。
設定できる項目 | 説明 |
---|---|
モデル | 使用することができるLLMを設定 |
変数 | システムプロンプト中に使用することができる変数 チャットシステム中に変数を入力することができるフィールが作成される |
手順 | システムプロンプトとして、事前にシステムに与えることができるプロンプト |
コンテキスト | 参照することができる知識(項目を追加することでRAGになる!) |
ビジョン | 画像入力を可能とするか |
手順はシステムプロンプトとして、チャットの返答に性格や制限を事前情報として与えることができます。(出力を英語限定にする・返答は10代の若者が使う言葉を多用して etc…)
Dify内で特に注目な点としては、「コンテキスト」を使用したナレッジベースのチャットボット(RAG)になります。ナレッジとして文章等を登録することで、入力をもとにナレッジを検索して、検索した結果をLLMに対する入力に追加して送信します。
- AIチャットボット
- 特定の文章・データから情報を検索して回答を生成するチャットボット(FAQ)
テキスト生成:特定のデータに基づいてテキストを生成
![](https://i0.wp.com/tech-lab.sios.jp/wp-content/uploads/2025/02/f7ed5256bac249d0d3c4859d2b669103.jpg?resize=880%2C660&ssl=1)
テキストジェネレーターでは、入力に基づいてテキストを生成するアプリの構築が可能です。右側の画面では、「変数」で設定した入力フィードが表示されます。チャットボットと異なり、自然な応答ではなくユーザーの入力をもとに生成を行うことが主眼となります。
設定できる項目 | 説明 |
---|---|
モデル | 使用することができるLLMを設定 |
変数 | システムプロンプト中に使用することができる変数(必須) |
接頭辞プロンプト | システムプロンプトとして、事前にシステムに与えることができるプロンプト |
コンテキスト | 参照することができる知識(項目を追加することでRAGになる!) |
ビジョン | 画像入力を可能とするか |
要約を作成する場合は、変数に要約したい文章を入れる「変数」を作成し、要約の条件を「接頭辞プロンプト」に入力しておきます。これで、フィールドに入力するだけで要約アプリを作成することができます。テキスト生成の方向性を「接頭辞プロンプト」で方向付けます。
実際に作ってみる
SNS担当者として、XのPR文を考えるものを作ってみました。入力として「ブログの本文」受け取り出力として「XのPR文」を生成します。
![](https://i0.wp.com/tech-lab.sios.jp/wp-content/uploads/2025/02/6f59e10f64f36bf84be1551c611da65d.jpg?resize=880%2C457&ssl=1)
設定項目 | 内容 |
---|---|
モデル | Azure OpenAI Service:GPT-4o |
接頭語プロンプト | あなたは、企業SNS担当者です。以下の文章からX用のPR文を作成してください。制限としては、120文字以内でハッシュタグも考えて入れてください。 |
content | ブログ本文 |
ブログ本文を入力として入れることで、X用のPR文が生成されます。
- 要約アプリ
- SNS広報文章作成
エージェント:特定のタスクを自動化
![](https://i0.wp.com/tech-lab.sios.jp/wp-content/uploads/2025/02/ee269a98e0231cb4af71856cec342529.jpg?resize=880%2C660&ssl=1)
エージェントでは、ユーザーの入力を起点に登録しているツールを使用してアクションを行う(自動化)ことができます。チャットボットと大きく異なる点は、ツールになります。ツールは、LLM単体では実現しない、ネット検索やいろいろの動作をまとめています。こちらをチャットボットから使用することで、LLM単体ではできなかった様々な動作を会話にプラスすることができます。
設定できる項目 | 説明 |
---|---|
モデル | 使用することができるLLMを設定 |
変数 | システムプロンプト中に使用することができる変数(必須) |
手順 | システムプロンプトとして、事前にシステムに与えることができるプロンプト |
コンテキスト | 参照することができる知識(項目を追加することでRAGになる!) |
ツール | エージェントに使用を許可するツール(外部ツールなどのアクション) |
ビジョン | 画像入力を可能とするか |
Dify起動時に使用することができるツールの中には、ネット検索・チャート作成・時刻取得などがあります。追加で認証することで、外部のツール(Trello・Google・DALL-E etc..)を使用することができ、追加で自作したツールを組み込むことも可能です。
ツールは以下の画面のように表示されるので、起動してみてみると良いかもしれません。
![](https://i0.wp.com/tech-lab.sios.jp/wp-content/uploads/2025/02/b0eb4cfe38cdab9d8e17e59d012a6125.jpg?resize=880%2C660&ssl=1)
実際に作ってみる
論文検索用エージェントを作成します。
![](https://i0.wp.com/tech-lab.sios.jp/wp-content/uploads/2025/02/1969999ff79cb71b79ac5d684019ef0b.jpg?resize=880%2C457&ssl=1)
設定項目 | 内容 |
---|---|
モデル | Azure OpenAI Service:GPT-4o |
手順 | 日本語を英語に翻訳して、検索キーワードを抽出してください。 英語でArxivで検索して、論文のアクセス数の順に3つ取得してください。 再度、タイトル・要約・発行日を日本語で出力してください。 |
ツール | arxiv_search google_translate |
論文検索にarxiv_searchを使用してarxivから論文を検索します。英語での論文検索のほうが検索率が高くなります。そのため、入力からキーワードを抽出して英語に翻訳するためにgoogle_translateを使用しています。最後に検索した結果を日本語に翻訳してまとめています。
- 特定のタスクを自動化(Difyで提供されているツールでできる範囲)
終わり
以上、Difyで構築することのできるアプリケーションの種類について紹介してきました。チャットボット・テキストジェネレーター・エージェントと、それぞれのアプリケーションには特徴があり、目的に合わせて使い分けることで、効果的なAIアプリケーションを構築することができます。
今回紹介した、初期的なアプリはすべて「ワークフロー」で実装することができます。ですが、覚えることや設定する項目がグンと増えます。今回紹介したもので、満たされなかった場合は「ワークフロー」に移ることをお勧めします。
次回は、実際にRAGを作成する方法についてまとめます。