この記事では、以下のようなAIアプリ開発ツール「Dify(ディファイ)」を用いた、お問い合わせチャットボットの開発方法を解説します。
開発したお問い合わせチャットボットのURLはこちら:https://udify.app/chat/kOIY2HneVqKcGhHk
弊社Walkersでは、“AIトレンドに乗り遅れたくないけど、具体的な活用法が見えない…”を解決するAI導入支援を行っています。補助金により1/3のコストで導入可能なので、ぜひAI活用にお悩みがある方はお気軽にご相談下さい。⇒AI導入支援サービスの概要はこちら
執筆者:山口 鳳汰
ノーコード・AI開発会社「Walkers」のCMO。
AIサービス「Prompt Lab」運営。
その他、受託開発や教育など多数のAI事業に参画している。
運営会社:株式会社Walkers
ノーコード・AI専門の開発会社。
300件以上の開発/制作実績、200件以上の企業様を支援。
マーケティングやUI/UXと掛け合わせたサービス開発を得意としている。
執筆者:山口 鳳汰
ノーコード・AI開発会社「Walkers」のCMO。
AIサービス「Prompt Lab」運営。
運営会社:株式会社Walkers
ノーコード・AI専門の開発会社。
これまでに300件以上の開発/制作実績、200件以上の企業様を支援。
Dify(ディファイ)とは?
Dify(ディファイ)とは「AI言語モデルを用いてチャットボットなどの独自アプリを開発することができるオープンソースのツール」です。
このツールを使うことで、プログラミングなど専門知識がなくても簡単に高性能なアプリを作成することができます。
「チャットボット」といわれると、企業のホームページなどに配置されている「お問い合わせ対応を行うチャットボット」を連想される方が多いと思われますが、
Difyでは、お問い合わせ対応以外にも複雑な処理を行うチャットボットを簡単に開発できます。
Difyには無料プランも用意されているため、「簡単な業務をAIで効率化したいが、本当にできるか不安」という方でも安心して利用することができます。
»関連記事:Dify(ディファイ)とは?事例や使い方、商用利用まで完全解説!
お問い合わせチャットボットの開発方法
この記事では、DifyにWebサイトやテキストファイルなどの情報を事前に与えることによって、指定したデータからのみ回答を行う「お問い合わせチャットボット」を開発します。
【手順①】Difyのアカウントを作成する
Difyでは、GitHubやGoogleといった外部サービスのアカウントまたはメールアドレスを用いてアカウントを作成します。
手順や複雑さに違いはないため、普段よく使用するアカウントを選んで作成しましょう。
画面の指示に従いメールアドレスの認証または外部サービスのアカウントでログインを行えば、Difyアカウントの作成は完了です。
【手順②】Difyにデータを学習させる
このステップでは、Difyにデータを与える方法を解説します。
これから解説を行う、①から③のいずれかの方法でDifyにデータを与えることにより、指定したデータソースからのみ回答を行うチャットボットを開発することができます。
【学習方法①】ファイルから学習する
画面上部のメニューから「ナレッジ」を選択し、ナレッジの一覧画面を開きます。
その後、ナレッジ一覧画面から「ナレッジを作成」を選択し、ナレッジの作成画面に移動します。
以下いずれかの形式のファイルをDifyにアップロードします。
TXT, MARKDOWN, PDF, HTML, XLSX, XLS, DOCX, CSV, EML, MSG, PPTX, XML, EPUB, PPT, MD, HTM
アップロードが完了すると、数秒後に「次へ」ボタンが青色に変化します。
青色に変わった「次へ」を選択し、ファイル内容の確認画面に移動します。
プレビューが作成されたら、ページ下部の「保存して処理」を選択します。
このページでは、基本的に設定の変更は必要ありません。
画像のような画面が表示されたら、データの作成は完成です。
「ドキュメントに移動」というボタンを選択すると、作成したデータの内容を細かく確認することができます。
【学習方法②】Notionから学習する
画面上部のメニューから「ナレッジ」を選択し、ナレッジの一覧画面を開きます。
その後、ナレッジ一覧画面から「ナレッジを作成」を選択し、ナレッジの作成画面に移動します。
データソースの選択画面で、「Notionから同期」を選択します。
過去にDify上でNotionを使用したことがない方は「Notionが接続されていません」と表示されるため、「接続する」というボタンを選択し、設定画面に移動します。
過去にDify上でNotionを使用したことがある方は、ステップ4に移動します。
設定画面から、Notionの「ワークスペースを追加」を選択します。
するとログイン画面が開くため、Notionにログインを行い、画面に従ってDifyにアクセスを許可するページを選択します。
Notionへのログインが完了すると、Difyのトップページに戻ります。
そのため、ステップ1と2を参考に画面上部のメニューからナレッジの作成画面を開きます。
すると、ステップ3でアクセスを許可したページが一覧表示されるので、その中からDifyに学習をさせるページを選択し、「次へ」を選択します。
データのプレビューが作成されたら、ページ下部の「保存して処理」を選択します。
このページでは、基本的に設定の変更は必要ありません。
画像のような画面が表示されたら、データの作成は完成です。
「ドキュメントに移動」というボタンを選択すると、作成したデータの内容を細かく確認することができます。
【学習方法③】Webサイトから学習する
画面上部のメニューから「ナレッジ」を選択し、ナレッジの一覧画面を開きます。
その後、ナレッジ一覧画面から「ナレッジを作成」を選択し、ナレッジの作成画面に移動します。
データソースの選択画面で、「ウェブサイトから同期」を選択します。
過去にDify上でWebサイトからデータの学習を行ったことがない方は「設定されていません」と表示されるので、プロパイダーのいずれかを選択し、設定画面に移動します。
この記事では、「Jina Reader」を使用します。
過去にDify上でNotionを使用したことがある方は、ステップ6に移動します。
設定を進めるプロパイダーの「設定」を選択します。
すると、APIキーの入力画面が表示されるため、画面下部の「無料のAPIキーを jina.ai で取得」というボタンを選択して、JinaのWebサイトに移動します。
jina.aiのWebサイトで、「Reader API」という項目が表示されるまで下にスクロールします。
「API KEY & BILLING」というタブを選択し、表示されたAPIキーをコピーします。
Jinaでは、1Mトークンまでは会員登録不要で無料で利用することができます。
1Mトークン以上の利用を行う場合は、Stripeを通じて決済を行いましょう。
APIキーをコピーしたら、Difyの設定画面に戻ります。
APIキーを入力し、「保存」を選択後、プロパイダーがアクティブと表示されれば設定は完了です。
APIの設定画面を閉じると、クロールの設定画面が表示されます。
データ学習元のWebサイトのURLを入力し、「オプション」や「クロールするページ数」を入力したら、「実行」を選択しクロールを開始します。
クロールが完了すると取得したページ一覧が表示されるため、必要なページにチェックを入れ、「次へ」を選択します。
ページ下部の「保存して処理」を選択します。
このページでは、基本的に設定の変更は必要ありません。
画像のような画面が表示されたら、データの作成は完成です。
ページ下部の「ドキュメントに移動」というボタンを選択すると、作成したデータの内容を細かく確認することができます。
【手順③】Difyを構築する
Difyのトップページに移動します。
この画面右上に表示されている「自身のアカウント名」をクリックし、表示されるメニューから「設定」を選択します。
「モデルプロパイダー」を選択し、LLMの設定画面に移動します。
ChatGPTとClaudeに関しては標準でモデルの組み込みが行われているため、この2つのLLMのどちらかを使用してDifyを利用する場合には、
ChatGPTの場合は、OpenAIタブの横にある「API-KEYセットアップ」
Claudeの場合は、ANTHROPICタブの横にある「API-KEYセットアップ」
をクリックして、APIキーのセットアップ画面を表示します。
表示された画面にそれぞれのAPIキーを入力すると接続が完了し、Difyで使用できるようになります。
※ChatGPTの利用に限り、API接続を行わなくても一定回数無料で使用することが可能です。
ステップ2と同様に、「モデルプロパイダー」を選択しLLMの設定画面に移動します。
この画面の下に表示されている、「モデルプロパイダを追加」から、使用したいLLMを探し、カーソルを合わせます。
カーソルを合わせると「モデルを追加」または「セットアップ」という表示が現れるため、そちらをクリックします。
表示された画面の指示に従い、モデルタイプの選択やAPIキーなどの求められた情報を入力すると接続が完了し、Difyで使用できるようになります。
※この設定は必須ではありません。特定のLLMをDifyで使用したい場合のみ設定を行なってください。
LLMの接続を完了したらホーム画面に移動し、「アプリを最初から作成」ボタンを選択します。
表示される画面で以下のように設定を行い、「作成する」ボタンをクリックします。
アプリタイプ:チャットボット
オーケストレーション:Chatflow
アプリアイコン:任意のものを選択
アプリ名:任意の名前を入力
チャットボットを作成すると、「開始」「LLM」「回答」という3つのブロックが自動で配置されます。
このままでは、手順②で作成したデータをDifyに与えることができないため、
「開始」と「LLM」の間に表示されるプラスボタンから「知識取得」というブロックを選択し、追加します。
追加した「知識取得」ブロックを選択し、ナレッジ追加画面で「+ボタン」をクリックします。
表示されるナレッジ選択画面で、手順②で作成したナレッジを選択し、「追加」をクリックします。
「LLM」ブロックを選択し、以下のように設定を変更します。
モデル:
この記事では、「GPT-4o」を選択します。
コンテキスト:
知識取得ブロックの”result”という項目をメニューから選択する
SYSTEM:
コンテキストという変数を組み込み、どのような対応をして欲しいかプロンプトを入力する
ここまでのステップで、お問い合わせチャットボットは完成です。
最後に、画面右上の「公開する」というボタンから、作成したチャットボットを公開します。
「アプリを実行」というボタンを選択すると新しいタブでチャット画面が開くため、その画面のURLを共有することで、様々な人にチャットボットを利用していただくことができます。
Difyを用いた「お問い合わせチャットボット」の開発方法の解説は以上です。この情報がDifyへの理解促進につながれば嬉しく思います。
弊社Walkersでは、“AIトレンドに乗り遅れたくないけど、具体的な活用法が見えない…”を解決するAI導入支援を行っています。補助金により1/3のコストで導入可能なので、ぜひAI活用にお悩みがある方はお気軽にご相談下さい。