Dify入門ガイド:5分で作れる簡単アプリまとめ

Dify入門ガイド:開いて5分で作れるアプリ種類まとめ

はじめに

ども!Difyを学ぶ時間を捻出する日々な龍ちゃんです。入門ガイド第2弾です。第一弾では「Dify入門ガイド:初期セットアップ」と題して、検証環境にアクセスするまでを紹介していました。今回は、Difyで構築することができる基礎的なアプリの種類に関してまとめていきたいと思います。

Difyで作れるアプリ一覧
  • チャットボット
  • エージェント
  • テキストジェネレーター
  • チャットフロー
  • ワークフロー

初心者向けで特定要件に併せたアプリから、上級ユーザー向け(ちょっと開発者より)で要件に併せたアプリまで様々なアプリを作成することができます。ここでは、基礎的な使い方をする場合の説明を行っていきます。「ワークフロー」や「チャットフロー」については、上級的な使い方なので、できることよりも現状できないことを探したほうが良いです。

龍

今回はDifyをセットアップして5分以内でお試しできるアプリの紹介をしていきます!

チャットボット:対話型のAIアシスタント

チャットボットでは、対話型AIアシスタントの構築が簡単に可能です。アプリを開いた時点で、チャットボットの構築自体は完成しています。追加で設定を加えることで、目的に沿ったアプリとして構築することができます。

設定できる項目としては、以下のようなパラメーターがあります。

設定できる項目説明
モデル使用することができるLLMを設定
変数システムプロンプト中に使用することができる変数
チャットシステム中に変数を入力することができるフィールが作成される
手順システムプロンプトとして、事前にシステムに与えることができるプロンプト
コンテキスト参照することができる知識(項目を追加することでRAGになる!)
ビジョン画像入力を可能とするか

手順はシステムプロンプトとして、チャットの返答に性格や制限を事前情報として与えることができます。(出力を英語限定にする・返答は10代の若者が使う言葉を多用して etc…)

Dify内で特に注目な点としては、「コンテキスト」を使用したナレッジベースのチャットボット(RAG)になります。ナレッジとして文章等を登録することで、入力をもとにナレッジを検索して、検索した結果をLLMに対する入力に追加して送信します。

向いているアプリ
  • AIチャットボット
  • 特定の文章・データから情報を検索して回答を生成するチャットボット(FAQ)

テキスト生成:特定のデータに基づいてテキストを生成

テキストジェネレーターでは、入力に基づいてテキストを生成するアプリの構築が可能です。右側の画面では、「変数」で設定した入力フィードが表示されます。チャットボットと異なり、自然な応答ではなくユーザーの入力をもとに生成を行うことが主眼となります。

設定できる項目説明
モデル使用することができるLLMを設定
変数システムプロンプト中に使用することができる変数(必須)
接頭辞プロンプトシステムプロンプトとして、事前にシステムに与えることができるプロンプト
コンテキスト参照することができる知識(項目を追加することでRAGになる!)
ビジョン画像入力を可能とするか

要約を作成する場合は、変数に要約したい文章を入れる「変数」を作成し、要約の条件を「接頭辞プロンプト」に入力しておきます。これで、フィールドに入力するだけで要約アプリを作成することができます。テキスト生成の方向性を「接頭辞プロンプト」で方向付けます。

実際に作ってみる

SNS担当者として、XのPR文を考えるものを作ってみました。入力として「ブログの本文」受け取り出力として「XのPR文」を生成します。

設定項目内容
モデルAzure OpenAI Service:GPT-4o
接頭語プロンプトあなたは、企業SNS担当者です。以下の文章からX用のPR文を作成してください。制限としては、120文字以内でハッシュタグも考えて入れてください。
contentブログ本文

ブログ本文を入力として入れることで、X用のPR文が生成されます。

向いているアプリ
  • 要約アプリ
  • SNS広報文章作成

エージェント:特定のタスクを自動化

エージェントでは、ユーザーの入力を起点に登録しているツールを使用してアクションを行う(自動化)ことができます。チャットボットと大きく異なる点は、ツールになります。ツールは、LLM単体では実現しない、ネット検索やいろいろの動作をまとめています。こちらをチャットボットから使用することで、LLM単体ではできなかった様々な動作を会話にプラスすることができます。

設定できる項目説明
モデル使用することができるLLMを設定
変数システムプロンプト中に使用することができる変数(必須)
手順システムプロンプトとして、事前にシステムに与えることができるプロンプト
コンテキスト参照することができる知識(項目を追加することでRAGになる!)
ツールエージェントに使用を許可するツール(外部ツールなどのアクション)
ビジョン画像入力を可能とするか

Dify起動時に使用することができるツールの中には、ネット検索・チャート作成・時刻取得などがあります。追加で認証することで、外部のツール(Trello・Google・DALL-E etc..)を使用することができ、追加で自作したツールを組み込むことも可能です。

ツールは以下の画面のように表示されるので、起動してみてみると良いかもしれません。

実際に作ってみる

論文検索用エージェントを作成します。

設定項目内容
モデルAzure OpenAI Service:GPT-4o
手順日本語を英語に翻訳して、検索キーワードを抽出してください。
英語でArxivで検索して、論文のアクセス数の順に3つ取得してください。
再度、タイトル・要約・発行日を日本語で出力してください。
ツールarxiv_search
google_translate

論文検索にarxiv_searchを使用してarxivから論文を検索します。英語での論文検索のほうが検索率が高くなります。そのため、入力からキーワードを抽出して英語に翻訳するためにgoogle_translateを使用しています。最後に検索した結果を日本語に翻訳してまとめています。

向いているアプリ
  • 特定のタスクを自動化(Difyで提供されているツールでできる範囲)

終わり

以上、Difyで構築することのできるアプリケーションの種類について紹介してきました。チャットボット・テキストジェネレーター・エージェントと、それぞれのアプリケーションには特徴があり、目的に合わせて使い分けることで、効果的なAIアプリケーションを構築することができます。

今回紹介した、初期的なアプリはすべて「ワークフロー」で実装することができます。ですが、覚えることや設定する項目がグンと増えます。今回紹介したもので、満たされなかった場合は「ワークフロー」に移ることをお勧めします。

次回は、実際にRAGを作成する方法についてまとめます。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です