ノーコードでChatGPTのSlack botを作ってみた
ChatGPTのAPIを使ったSlack botをノーコードで作ってみたので、その方法を紹介します。APIと聞くと「何やら難しそうだな」と感じる方もいると思いますが、この方法だと簡単に、しかも無料でできますよ。
ちなみに、SlackでChatGPTを使うアプリ「ChatGPT app for Slack」のベータ版がリリースされているので、待っていれば、同じようなものがいずれみんな使えるようになるかと思います。
Contents
完成形
こんな感じで、Slackにメッセージを投稿すると、ChatGPT(Slackの中ではIntegromatアプリ)が応答してくれます。
必要なもの
- OpenAIのAPIキー
- Makeのアカウント
- Slackのアカウント
手順
OpenAIのWebサイトへログイン
以下のリンクを開いて[Get started]からOpenAIのアカウントを作成してログイン。
Open APIのAPIキー(secret key)を取得
ログイン後、画面右上の自分のアイコンをクリックして[View API keys]をクリック。
[Create new secret key]をクリックして、作成したsecret keyをコピーする。
Make(旧Integromat)へログイン
Makeは、ZapierやIFTTTのようなサービスで、色々なクラウドサービスを繋ぐサービスです。
以下の画像をクリックすると直接アカウント作成ページへ飛びますので、アカウント作成してログインします。
Makeのシナリオを作成開始
ログイン後、画面右上の[Create a new scenario]をクリックして、シナリオ作成画面を開きます。すると、真ん中に大きなプラスボタンがあるので、それを押します。
表示されたアプリ一覧の中から[Slack]を選ぶと以下の画面になります。
Makeシナリオの完成図
ここで、先に完成図をお見せします。以下の①〜④をこれから設定していきます。
Makeシナリオ設定①
Slackの特定のチャンネルにメッセージを投稿したら、ChatGPTが応答してくれるようにします。そのため、まずはSlackの[New Event]を選択します。次に、どのSlackチャンネルにするかを設定します。
Makeシナリオ設定②
いよいよメインとなるChatGPT部分の設定です。
[Connection] > [Add] から、先ほどコピーしておいたOpenAIのAPIキー(secret key)を入力します。
ここで重要なポイントがあります。設定画面一番下の[Show advanced settings]を押すと表示される[Max Tokens]を入力する必要があります。入力しないと初期値が16になっていて、ChatGPTの応答が8文字程度しか返ってきません。
[Max Tokens]は、ChatGPTを無料で利用している場合は、最大4,096です。日本語の文字数だと、2,000〜3,000文字程度のようです。この4,096から、ChatGPTへの質問文の分を抜いた数字を入れます。いくつにしようか迷う場合は、一旦4,000を入れて進めてください。
Makeシナリオ設定③
ChatGPTの応答をSlackへ返す部分です。基本的にはシナリオ設定①で設定したSlackチャンネルを指定します。
Makeシナリオ設定④
ここがかなり重要なポイントです。
①〜③の設定だけだと、③のChatGPTからの応答が、また①に拾われてしまい、無限ループに陥ります。これを防ぐために、botからのメッセージは拾わないよう、フィルターの設定をします。
これで、シナリオの完成です。
シナリオの有効化
シナリオを保存して、SCHEDULINGをONにします。これで、有効化されました。
設定したSlackチャンネルにメッセージを投稿すると、ChatGPT(Slackの中ではIntegromatアプリ)が応答してくれます。
最後までお読みいただきありがとうございました。