1
1

「ChatGPTに質問すると、回答をslackに飛ばしてくれるアプリ」をDifyで作ってみた

Last updated at Posted at 2024-09-14

はじめに

先日、「Dify」を初めて触ってみました。

今回はもうちょっとレベルアップして、「AI(ChatGPT)に質問すると、その回答をslackに飛ばす」という謎なアプリを構築してみました。

やってみた

Difyにログインします。

「最初から作成」をクリックします。
image.png

今回は一連の流れを作りたいので「ワークフロー」を選択し、アプリ名はslackと連携してみたかったので、適当に「slack連携」としました。
「作成する」をクリックします。
image.png

開始と書かれたブロックが現れました。
右側の+をクリックすると次に繋げるブロックを選択することができます。
まずはChatGPTに質問をしたいので、LLM(Large Language Models)を選択します。
image.png

LLMのブロックが開始ブロックの次に現れました。
次に、LLMブロックの+ボタンをクリックし、その次の処理を設定します。
「ツール」をクリックし、Slackの「Incoming Webhook to send message」を選択します。
image.png

そして最後に終了ブロックをくっ付けます。
一連の流れはこんな感じです。
image.png

chatGPTからの回答をslackに送る(連携させる)ためにはslack apiを使用します。
skapi apiのページを開き、「Get started」をクリックします。
image.png

「Create an App」をクリックします。(先にYour Appsをクリックするんだっけな...?)
image.png

「From scratch」をクリックします。
image.png

App Nameに適当な名前を入力します。
Pick a workspace to develop your app inには、api(chatGPTからの回答)を飛ばすslackのワークスペースを指定します。
今回は事前に「test」というワークスペースを作成しました。
「Create App」をクリックします。
image.png

Activate Incoming WebhooksをONにします。
image.png

「Add New Webhook to Workspace」をクリックします。
image.png

API(ChatGPT)を飛ばすslackのチャンネルを指定します。
今回は事前に作成しておいた「# dify連携」を選択しました。
「許可する」をクリックします。
image.png

「Incoming Webhooks」をクリックし、Webhook URLをコピーします。
image.png

difyの画面に戻り、Incoming Webhook to send messageのブロックをクリックし、コピーしたWebhook URLを貼り付けます。
※LLMブロックのモデルがgpt-3.5-turboに変わってますが、モデル変更について後述しますので、気にしないで下さい。
image.png

開始ブロックをクリックし、入力フィールドの+ボタンをクリックします。
image.png

フィールドタイプは短文、変数名はuser_question、ラベル名は「質問を入力してください」、最大長は48(デフォルト設定)とます。
これによって、difyで作成したフローを実行したときに、ChatGPTに対する質問の入力を促します。

次にLLMブロックをクリックします。モデルを変更することができます。
SYSTEM欄には、LLMブロックに対するinputを入力します。
開始ブロックで入力された質問がuser_questionに格納され、それをLLMブロックに受け渡します。
変数を受け渡すには、変数名の前に { を入力します。({user_question)
image.png

では、このフローをテストしてみましょう。
右上の「実行」ボタンをクリックします。
image.png

質問の入力を促されました。
「世界で一番高い山は?」と入力してみます。
「実行を開始」ボタンをクリックします。
image.png

ステータスは成功となっています。
image.png

slackを見てみましょう。
すると、TestAppから質問の回答が届いていました!成功です!
image.png

ではこのアプリを公開してみましょう。
右上の「公開する」ボタンをクリックすると、アプリが公開され、URLを取得することができます。
image.png

スマホから試してみようと思います。
入手したURLにスマホからアクセスしてみます。
それっぽい画面が出てきました。

サザエさんの家族構成を教えてもらうことにしました。

実行は成功したっぽいです。

slackを見てみましょう。
しっかり回答が届いていました!
image.png


"サザエさんの家族構成は、夫のマスオさん、長女の波子さん、長男のタラちゃん、そしてサザエさん自身の4人家族です。さらに、サザエさんの両親であるフネさんとワカメさんも一緒に住んでいます。家族全員が仲良く暮らしている様子が描かれています。"


おわりに

今回はdifyを使って簡単なワークフローを作ってみました!
条件分岐や繰り返しもあるので、いろんなところで効率化を図れそうです!

あと、私がサザエさんの家族構成を勘違いしていたことも判明しました。

AdobeStock_270213828.jpeg

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1