見出し画像

GPT-4とSlackやTwitterを連携したAIチャットボットを爆速で作る方法🚀 (基本編)

miiboを利用すると、GPT-4を利用したAIチャットボットを爆速で構築することができます。
作成したAIチャットボットはZapier等のiPaaS(Integration Platform As A Service)を組み合わせると、様々なサービスと連携することができます。


・AIチャットボットが応答できなかった質問をSlackにPOSTする
・AIチャットボットとブレストした内容をNotionで記事化しておいてもらう
・AIチャットボットにツイートをしてもらう
・AIチャットボットが受け付けたお問い合わせを整理して保存もらう

AIチャットボットと外部サービスの組み合わせ次第で、業務効率を大きく向上させるAIアシスタントを構築できます。

※ 本記事は、miiboを開発している株式会社miiboのmaKunugiが執筆しています。


GPT-4を仲介したサービス連携の恩恵

GPT-4は人間の言葉を理解し、適切な言葉による応答を行うだけでなく、様々な外部サービスを呼び出す仲介役としても機能します。

まるで人間に話しかけるかのようにAIに話しかけ、その先に接続された様々な外部サービスと自然に連携ができます。人間とソフトウェアの距離を明らかに縮めたと言えます。

本記事で紹介する内容

例として、
GPT-4で作ったAIチャットボットとSlack通知を組み合わせる
方法をご紹介します。

自動応答のお問い合わせのAIを作り、ユーザーから投げられた内容をSlackにも通知するというユースケースです。

1.iPaaS(Zapier)に登録する

AIを様々なサービスに連携する場合、iPaaS(Integration Platform As A Service)を利用するのが良いです。
iPaaSは様々ありますが、今回はZapierを使います。

サービス連携のTriggerには、「Webhook」機能を利用します。

ZapierのWebhook機能は有料アカウントしか利用できないため、実際にお試しになる方は有料アカウントを契約しましょう。

Starterプランから利用ができます。

2. miiboでAIを作る

zapierのアカウントを用意できたら、miiboでGPT-4ベースのチャットボットを作ってみましょう。

下記は専門知識を与え、独自のお問い合わせに答えるAIを作る例について紹介した記事です。まずは、ぜひこの記事を参考にしてAIを作成してみてください。

miiboで作成したAIチャットボットの様子

miiboでAIを新規作成する際、プロンプトテンプレートにある「お問い合わせ対応AI」を利用すると、手軽に上記のようなAIが作れます。

プロンプトテンプレート


3. AIチャットボットと外部サービスを連携する

AIチャットボットを用意できたらZapierと接続して、AIチャットボットから外部サービスを操れるようにしていきます。

本記事では、まずシンプルな例として、お問い合わせ用のAIチャットボットとSlackを連携させる例をご紹介します。

連携例:
1. AIチャットボットがユーザーの質問に応答する
2. 事前情報がなくAIが応答できない場合は「今は判断ができない」旨を応答する
3. 応答ができなかった質問をSlackに投稿して、人力対応できるようにする

※後日、さらに踏み込んだ応用編の記事も公開予定です。

連携手順


AIをZapierと接続するため、miiboのwebhook機能を用いましょう。
miiboコンソール -> 「左メニュー」-> 「高度な設定」->「Webhooks」

Webhooksの仕様は下記です。

Webhookの設定例

名前:
任意
メソッド:POST
URL: 一旦dummy (後ほどZapierで取得)
トリガーの種類: エージェントが応答を返した
トリガーの条件:「下記の値のいずれかが含まれたら」
応答の内容: 「今の私には判断できない」

※ 「今の私には判断できない」は、応答ができない場合にこの表現で応答を返されるよう、プロンプトで制御している前提です。この方法はこちらのnoteで詳細に解説しています。

作成したら、「公開状況」トグルをクリックし、公開状態をONにしましょう。

Webhookを有効にできたら、Zapierで連携を作っていきましょう。

Create Zapをクリックしましょう。

TriggerにはWebhookを選択します。

Eventに「Catch Hook」を設定。

Triggerの「Child Key」は空欄でContinue。

Webhook URLが表示されます。
一旦ここでURLをコピーし、miiboに戻ります。
Zapier上では進まず、このままの状態にしてください。

このURLを先程のmiiboのWebhookの設定に適用します。
dummyにしていたURLを書き換えましょう。

WebhookのURLを修正したら、会話のテストでWebhookを発火させましょう。条件にあった応答が変えるようにAIに話しかけます。
今回は、「今の私には判断ができない」という応答で発火するようにしています。

Zapierに戻ります。
Test Triggerを押すと、miiboのWebhookから送信されたパラメータが表示されます。様々なパラメータが利用できるので、詳しくはWebhookの仕様をご参照ください。

Continueを押して進みます。
次にActionを設定しましょう。今回はSlackで通知を行います。

Eventは「Send Channel Message」を選択します。

Slack Accountにログインをしましょう。

Actionを設定します。下記の例では、指定したチャンネルに送信するテキストを設定しています。

※上記の例では、メールアドレスを取得できていますが、これはmiiboの設定でEmailを事前に取得できるよう設定する必要があります。また別記事でも紹介をします。

Test Actionが正常にできたら、「Publish」しましょう。
AIに話しかけ、応答ができないときにSlack通知が飛べば成功です!

以上の手順で、AIチャットボットと外部サービス(Slack)を連携させることができました。ZapierはSlack以外にもTwitterやDropBoxなど様々なサービスを利用可能です。
この方法を応用して、AIと様々なサービス連携をお試しください。

さらに柔軟な連携をするために

今回紹介した手順は、特定の条件下で発火するシンプルな外部連携です。
これだけでも色々な連携はできますが、人力で設定した条件下で発動するのみで、まだまだGPTの柔軟性を引き出せていません。

GPTの柔軟性の良さを最大限に引き出せるのが、OpenAI APIが提供する「Function Calling」という機能です。Function Callingを利用すると、今までは実現ができなかった、よりフレキシブルなサービス連携が可能になります。

例えば
・AIとブレストした内容をNotionで記事化しておいてもらう
・AIチャットボットが受け付けたお問い合わせを整理してもらう
上記のようなことが、AIとの会話によって実現できます。

miiboではノーコードでFunction Callingを活用した連携をノーコードで構築できます。Webhookの設定でトリガーの種類に「AIによってFunctionが呼ばれた(Function Calling)」を指定することで設定が可能です。

このFunction Callingこそが、GPTの真骨頂とも呼べる機能です。
次回はこの続編として、Function Callingを活用した柔軟なサービス連携の方法について紹介をしていこうと思います。近日中に公開しますので、ぜひSNSやnoteをフォロー頂き、お待ちいただけると幸いです。

本記事をお読みいただきありがとうございました!

この記事が気に入ったらサポートをしてみませんか?