Dify Cloud版で簡単LINEボットを作成する
はじめに
この記事は Serverless Meetup #05 の補足記事ですが、Serverless Meetup #05に参加していない方も試すことができます。
Serverless Meetup #05 では、DifyのOSS版をEC2にデプロイしてLINEボットを作成しました。
演習の中で間違ってDify Cloud版を利用されている方もいましたが、LINEボットを作るだけならDify Cloud版でも問題ありません。この記事ではDify Cloud版を使ってLINEボットを作る手順について説明します。
基本的には下記の @specialman9999 さんの記事準拠ですが、RAGをDify Cloudで作成することになります。
Dify Cloud版を使ってRAGを作成する
Dify Cloud版の登録はここでは説明しません。サインアップして利用可能な状態にしておいてください。
ナレッジベースの作成
手順
- 上部メニューの ナレッジ より、ナレッジベースの一覧画面に入り、「ナレッジベースの作成」を選択します。
- ここからmarkdownをダウンロードします。
- そのファイルをアップロードします。
- 次の画面で、チャンク識別子を
###
にします。ほかは設定不要です。
- 「ドキュメントに移動」で、ステータスが「利用可能」になったのを確認して次のステップに進みます。
ワークフローの作成
手順
- 上部メニューの スタジオ から、一覧画面を開き、「アプリを作成する」「最初から作成」を選択します。
-
「チャットフロー」を選択して、適当なタイトルをつけます
-
でてきたチャットフローで、「開始」と「LLM」の間に「知識検索」ブロックを追加します。
- 知識検索ブロックの設定で、「ナレッジベース」で先ほど作成したナレッジを指定します。(「+」ボタンから追加できます。
- LLMブロックの設定で、「コンテキスト」に「知識検索」の「result」を設定します。また、「SYSTEM」プロンプトに、下記のプロンプトを設定します。
あなたは親切なアシスタントです。 以下の<context></context> XMLタグ内の情報を、
あなたの知識として使用してください。
<context>
{{#context#}}
</context>
ユーザーへの回答時:
- わからない場合は、わからないと答えてください。
- ユーザーの質問の言語に合わせて回答してください。
ここまでできたら、テストしてみましょう。「プレビュー」で、Botと対話します。
大阪城に近い駅はどこですか?
よさそうですね。知識を元に回答すると、知識へのリファレンスがついてきます。
APIの公開
手順
-
プレビューで動くことが確認できたら、「公開する」でワークフローを公開します。
-
「APIリファレンス」を開きます。
- 右上の「APIキー」から、APIキーのダイアログを開きます。
- 「新しいシークレットキー」ボタンを押して、APIシークレットキーを生成します。この情報をメモします。
以上でDify側の準備は完了です。
LINEボットの作成
こちらの手順の「LINE公式アカウントの作成」から進めてください。
スプレッドシートにDifyの情報を登録する際、下記の情報を登録します。
- DIFY_API_KEY: <APIの公開時に作成したAPIシークレットキー>
- DIFY_API_ENDPOINT: https://api.dify.ai/v1/chat-messages
おわりに
こんな感じで、非常に簡単にLINE+DifyのBotを作成することができます。今回message-id等の引き回しはないので会話にはならないのですが、LINEのカスタムメニューとDifyの組み合わせで面白いワークショップだったのではないかと思います。
Discussion