Dify

【初心者向け】Difyで作るAIチャットボット機能拡張ガイド

2024年9月23日

dify-logo

Difyを使ったAIチャットボットに会話開始の文章や変数、フォローアップなどの機能を追加する方法を、初心者にも分かりやすく解説します。以前の記事からステップアップしてAIチャットボットを強化する機能を紹介しています。

最新ドキュメントを元に進めていきますので、是非最後まで読んでみてください!

「サリー」です。AWSパートナー企業でエンジニアとして働いています。
お問い合わせ自己紹介

1. Difyとは

誰でも簡単にAIアプリを作成できるOSSのAIアプリ開発プラットフォームです。

DifyはオープンソースのAIアプリ開発プラットフォームです。 Backend as ServiceとLLMOpsの理念を融合し、開発者が迅速にAIアプリケーションを構築できるようにします。 同時に、プログラミングが得意でない方でも、自分のアイデアをすぐにAIアプリにできる直感的なインターフェースを提供しています。

Difyへようこそ | Dify

2. Difyのチャットボットで追加できる機能一覧

チャットボットに追加できる機能とその機能詳細について簡単に表にまとめています。これらの各機能について使い方や機能を紹介します。

機能名内容
会話の開始AIがユーザーに最初に話しかける文章を設定
フォローアップ次の質問の提案を設定
テキストから音声へテキストを音声に変換
音声からテキストへ音声入力を使用可能に
引用と帰属生成されたコンテンツのソースを表示

3. 会話の開始

会話の開始機能を有効化すると、AIがユーザーに最初に話しかける文章を設定することができます。これにより、ユーザーは何を質問すればいいのかがわかりやすくなります。

3-1. 機能の有効化

まず、画面下の「機能を追加」をクリックします。

次に「会話の開始」を有効化します。

3-2. 文章の設定

機能を有効化すると、チャットの強化一覧に表示されます。文章を設定するために「オープナーを書く」をクリックします。

ここでは簡単なよくありそうな文章を入力します。これだけで設定完了です。簡単ですね。

コピペ用
私はあなたののチャットボットです。質問をどうぞ。

3-3. 動作確認:設定した文章が最初に表示されるか

デバッグとプレビュー画面を開くと、AIチャットボットが先ほど設定した文章を発言してくれています。ユーザーにとってAIチャットボットが何か話してくれていると入力しやすい気がします。

4. 会話開始に変数を利用する

以前の記事でプロンプトに変数を利用できると解説していました。変数は会話の開始の文章にも利用できるので紹介します。

先ほど設定した文章を少し変えて、以下のようにAIチャットボットが発言してくれるようにしたいと思います。

私は<ユーザー名>のチャットボットです。質問をどうぞ。

4-1. 変数を追加する

まず変数を追加します。ユーザー名を最初の発言に含めたいので、UserNameという変数を設定します。

変数を設定すると、デバッグとプレビュー画面にユーザー入力フィールドが表示されます。しかし、現在の設定では名前を入力しても何も起こりません。

4-2. 会話開始に変数を利用するよう設定

変数を最初のメッセージに含めるには、変数キーを{{ }}で囲うことで設定できます。この章の冒頭でも触れたとおり、「<ユーザー名>のチャットボットです。」となるよう設定しています。

コピペ用
私は{{UserName}}のチャットボットです。質問をどうぞ。

4-3. 変数が利用されているか確認

先ほどのプレビュー画面を見ると、名前に入力した文字が{{UserName}}部分に表示されていることが確認できます。

以上で会話開始に変数を利用することができるようになりました。

5. 開始質問の設定

会話開始の機能の中に、「開始質問」という機能もあるのでそれも触れておきます。

簡単に言うと最初の質問の候補をこちらからユーザーへ提示するものになります。これらの設定により、ユーザーは会話を始めやすくなり、AIチャットボットの使い方がより直感的になります。

5-1. 開始質問を設定

まず、「オプションを追加」をクリックします。

ユーザーの最初の質問の候補を入力します。最大5つまで設定可能みたいです。

5-2. 開始質問の確認

デバッグとプレビュー画面から確認すると、下図のように会話開始に設定したメッセージと併せて最初の質問の候補が青文字で表示されています。

これにより、ユーザーがどのような質問をすれば良いかわかりやすくなりますね。

ちなみに、青文字部分はクリックするとメッセージとしてAIチャットボットへ送信され回答してくれます。

5-3. 開始質問に変数は利用できない

会話開始のメッセージには変数が利用できましたが、下図のとおり開始質問に変数を利用することはできなさそうでした。

6. フォローアップ

この章ではフォローアップという機能を追加します。フォローアップ機能を有効にすると、AIが自動的に3つの質問を提案してくれます。ユーザーはこれらの提案をクリックするだけで次の質問ができ、会話がスムーズに進みます。

6-1. 機能の有効化

まず、フォローアップの機能を有効化します。

有効化すると下図の表示に変わります。記載内容によると、ユーザーの次の質問に関する3つの提案をしてくれるそうです。

プレビュー画面でこちらの画面が表示された場合は「リフレッシュ」する

6-2. 質問の提案をしてくれるか確認

早速質問をしてみると、これまでの会話を踏まえて3つの質問の提案をしてくれることがわかります。便利ですね!

青文字の提案をクリックすると質問することができます。AIチャットボットが回答するとさらに3つの質問を提案してくれます。ユーザー体験が良くなると思うので導入してみるのも良いですね。

7. テキストから音声へ

テキストを読み上げる機能をAIチャットボットへ追加することもできます。設定してみましょう。

テキストを音声に変換する機能を追加すれば、AIチャットボットの回答を音声で聞くことができます。これは視覚障害のあるユーザーや、文字を読むのが苦手なユーザーにとって特に有用です。

7-1. 機能の有効化

これまでと同じように機能を有効化します。

7-2. 音声の設定

設定すると以下のようになるため、「設定」をクリックします。

デフォルト言語は英語になっているため、日本語に設定します。英語の場合、音声を変更することができますが日本語では選択できなさそうでした。

また、自動再生を「開ける」にすると文字の回答と同時に音声が出力されます。

日本語に設定した後の表示内容です。

7-3. 音声が出力されない場合

音声を再生するには、AIチャットボットのメッセージのTTS is not enabled再生ボタンをクリックします。しかし、次の画像のとおり「TTS is not enabled」と表示され音声が出力されないことがあります。

TTSはText to Speechという意味らしい

「TTS is not enabled」エラーが発生する場合、「公開する→更新」をすることで解決することができます。

更新後に再生ボタンをクリックすると音声が出力されます。

7-4. テキスト読み上げ機能を確認(動画有)

ちょっと噛んでるのがかわいいですね(笑)

8. 音声からテキストへ

音声入力の機能も追加することもできます。音声入力機能を追加すれば、ユーザーは声で質問できるようになります。これにより、キーボード入力が苦手なユーザーや、手が塞がっているユーザーでも簡単にAIと対話できます。

8-1. 機能の有効化

「音声からテキストへ」の機能を有効化します。

下図のとおり「音声入力が有効になっています」と表示されていればOKです!

8-2. 音声入力してみる

入力欄の右側にマイクマークが表示されています。

クリックすると音声を入力することができます。

8-3. 音声入力できない場合

「Speech to text is not enabled」エラーが表示され、音声入力できない場合があります。

エラーが表示される場合は、テキスト読み上げ機能と同様「公開する→更新」をすることで利用可能になります。

8-4. 音声入力できるか確認(動画有)

「おい、のび太」と話してみましたが、「ご視聴ありがとうございました。」と入力されてしまいました(笑)

9. 引用と帰属

引用と帰属を有効にすると、AIチャットボットが参照したドキュメントが表示されます。この設定により、ユーザーはどのドキュメントからの情報なのかがわかりやすくなります。

9-1. 機能の有効化

他と同様、機能を有効化します。

以前の記事で紹介したようにコンテキストも設定しておきます。

9-2. 引用が表示されているか確認

回答を確認すると、コンテキストに設定したドキュメント(商品情報.txt)が引用として表示されていることがわかります。

ドキュメントをクリックするとそのドキュメントの内容が表示されます。

10. まとめと次のステップ

Dify のチャットボットを強化する機能を紹介しました。これらの機能を利用するとユーザー体験がかなり良くなると思います。ぜひ利用してみてください。

10-1. 次のステップ

次回はチャットボットのツールボックス、テキストジェネレーターなど他のタイプのアプリを作成する方法を紹介します。

11. 関連記事

チャットアシスタント | Dify

-Dify
-,