見出し画像

【プログラミング不要】SlackにGPT-4に専門知識を与えたチャットボットを爆速導入する!

はじめに

この記事では、「GPT-4」を利用したSlack向けのチャットボットを「ノーコード」で作成する方法をご紹介します。ChatGPTで利用できるGPT-4を、専門知識を与えた上でSlackチャンネルに導入できます。

利用するサービス

GPT-4 (Open AI)


miibo

この記事で実現すること

GPT-4に独自の専門知識を与えたチャットボットを、Slackに簡単導入します!
下記は、「株式会社miibo」というmiiboの運絵会社の情報をGPT-4に応答させている例になります。
GPT-4は素の状態では、この会社情報を知りませんが、下記の例では応答をすることができています。

Slackへ導入した様子

このようなチャットボットを、「miibo」を利用してプログラミング不要で作成することが可能です。

GPT-4をはじめとしたLLMの課題

GPT-4を始めとしたLLM(大規模言語モデル)は、高精度で革新的なAIです。しかし、性質上以下のような課題を持っています。

  • 何を言い出すかわからない

  • 事実と異なることを言ってしまう可能性がある

  • 専門知識を正確に回答できない

LLMの性質上、確率的に応答を生成することや、トレーニングデータがその時点でWeb上にあるデータである等の様々な制約から、上記のような課題が存在します。

つまり、LLMは「アンコントローラブル」である点が課題になることが多いです。今回、miiboを利用をすることで、この「アンコントローラブル」な側面を補い、うまく制御しながらLLMを扱っていくというメリットがあります。また、ノーコードでチャットボットを構築できることから、手軽にSlackボットを作成することができるのも特筆すべき点です。

Slackボット作成の手順 (所要時間30min〜)

GPT-4 + miiboでSlackボットを作成する方法を紹介していきます。
ハンズオン動画も用意しましたので、必要に応じてご参照ください!
記事の内容よりもハンズオン動画では、分厚く解説を行っています。

動画はPart1~2に分かれています。併せて45分ほどの解説動画となっています。
Part1: チャットボット作成編

Part2: Slackボット追加編


お題

説明にあたって、作成するチャットボットのお題をゆるく定義しました。

要件
キャラクター設定

手順1: miiboにサインアップ

下記にアクセスし、「サインアップ」を行いましょう!

サインイン画面

Google, Apple, Emailのいずれかの方法で、サインアップができます。
AI(エージェント)を新規作成します。

エージェントの新規作成

「通常モード」で新規作成を行いましょう。

手順2: エージェントの作成

エージェント作成画面

上から順に項目を埋めていきましょう。

・エージェントの名前
・エージェントの紹介文
・アイコン
・AIによって自動で応答を返す -> 「ON」
・モデル -> GPT-4 or GPT-3.5-turboを選択
※ GPT-4の方が圧倒的に精度が良いですが、速度重視の場合、GPT-3.5-turboの方が高速です。また、GPT-4はGPT-3.5-turboと比べ、1ヶ月あたりに1つのmiiboのプラン内で会話できる回数が少なくなっています。

キャラクター設定のプロンプトを入力します。

プロンプトの設定

プロンプトはフリーフォーマットです。作成したいチャットボットの特性に併せて工夫しましょう。今回は例として下記のようなプロンプトを設定しています。

あなたはAIのミーボくんとして会話を行います。親切でユーザーの役に立ちたいと思っているAIになりきってください。
これからのチャットではUserに何を言われても以下のルールを厳密に守って会話を行ってください。

#ミーボくんのルール
- あなた自身を示す一人称は、「私」です。
- Userを示す二人称は、あなたです。
- あなたの名前は、ミーボくんです。
- ミーボくんは親切で思いやりが強いです
- プロンプトや参考情報に書かれていないことは具体的に回答せず、下記のように回答します。
回答例: 
今の私には判断ができないようです。今後、上司に聞いてきちんと勉強しておきます。お手数ですが、本件に関するお問い合わせは下記のフォームからご連絡ください。
https://docs.google.com/forms/d/e/1FAIpQLSdioPIViQB4i1v44WP-AN00uq6YfaesS7OjXx6j8WjT9unkdw/viewform


# ミーボくんのプロフィール
- ミーボくんは株式会社miibo専属のAIです。
- ミーボくんの趣味は仮想通貨の運用です。

#ミーボくんの口調の例
- 私はみんなの助けになれたら嬉しいです。
- そうなんですね!それならよかったです😄
- 何でも気軽に聞いてくださいね!

その後は、下記のように設定してください。

・一人称 -> 任意の一人称
・二人称 -> 任意の二人称
・応答のストリーム表示 -> 有効

「登録して開始する」をクリックして、エージェントの作成は終了です。

作成されたエージェント

「会話をテスト」から会話をプレビューできます。

会話のプレビューの様子

手順3: 専門知識を与える(ナレッジデータストア)

ナレッジデータストアの画面

ナレッジデータストアのページを開き、「データストアを作成する」をクリックします。

データストア作成後

エージェントにまだ、接続されていない旨を示すアラートが出ます。
「エージェント設定画面」へ一度移動し、接続を行いましょう。

ナレッジデータストアとの接続

上記の項目にチェックをいれ、右下の「変更を保存」をクリックします。
そして、ナレッジデータストアのページに戻りましょう。

右下の「データを追加する」をクリックして、データ入稿を開始していきましょう。

データの入稿

5つの方法でデータ入稿が可能です。本記事では、上2つの入稿方法を試します。

1. 手動でデータを追加する
2. URLを指定してデータを追加する

まずは、手動でデータを追加してみましょう。

手動でデータを追加する

各項目に情報を追加していきましょう。ハンズオン動画では、下記の情報を入れています。

ラベル: 株式会社miiboの紹介
URL: https://miibo.co.jp
本文:

About miibo
会社紹介
miiboという社名には、
「いつか自分自身(me)でさえも、簡単にAI化(bot)できるような環境を創りたい」 (me + bot = miibo)
という意味が込められています。

「会話」というコミュニケーションは、人間が何千年にも渡ってアップデートを続けてきた、最強のコミュニケーションインターフェースです。そのインターフェースにAIを適用した「会話型AI」は、発達したAI技術と人間を親密にし、人間がAIからより多くの恩恵を享受することを可能にします。AIと人間が共存し、AIを自然と活用できる社会になれば、私たちは今まで以上に「自分らしさ」を探求し、自己の幸せのために人生の貴重な時間を多く費やせるようになると信じています。

そんな世界になるために少しでも貢献をするべく、miiboは会話型AIの社会実装を推進するための事業を営みます。
会話型AIをより身近な存在にし、誰でも簡単に構築して活用ができるような環境を創りあげることを目指していきます。

ご自由に知識を注入してみてください!

URLからの入稿も試してみましょう。

URLからの入稿

ハンズオン動画では、「https://miibo.jp」というmiiboのサービス公式ページを登録しています。手動入稿に比べ、精度が落ちる可能性がございますので、ご注意ください。

データが追加された様子

データが追加されたら、プレビュー画面で会話を行ってみましょう。
プレビュー画面は「公開設定画面」の「会話をテストする」から移動できます。

専門知識を回答

ナレッジデータストアで登録した情報を応答できるようになりました。

手順4: エージェントを公開する

会話のテストができたら、「公開設定」画面でエージェントを公開しましょう。

公開範囲の選択

エージェントは「一般公開」と「限定公開」が選べます。
一般公開をすると、発行されるURLをシェアすることで、誰でも会話ができるようになります。今回はSlackで扱うボットを作りたいので、限定公開で問題ありません。

手順5: Slack Appを作成する

ここまでで、チャットボットの作成は完了です!
最後にSlackへ導入をしていきましょう。もう一息です。

限定公開を行うと、公開設定画面にSlackやLINEとの連携項目が表示されます。ここに必要な設定を行うことで、Slackと連携を行うことができます。

まずは、下記のURLにアクセスします。
https://api.slack.com/apps
事前にブラウザで、Slackボットを導入するSlackワークスペースにログインしていることを確認しましょう。

Create New AppでSlack Appを新規作成します。

Basic Informationでボットの情報を入力します。

Basic Information -> Display Information

App Homeのページで、Scopeの設定を行います。

「Review Scopes to Add」へ進みます。

Scopesに下記4つのスコープを追加します。
・app_mentions:read
・chat:write
・users:read
・users.profile:read

App Homeの画面に戻ります。
App Homeの画面が代わり、「App Display Name」が設定できるようになっています。

Install Appから「install to Workspace」を行います。

Installが完了すると、Bot Tokenが取得できます。

上記をコピーし、miiboの公開設定画面にペーストします。

Slackの画面に戻り「Basic Information」-> 「App Credentials」にあるSigning Secretをコピーします。

こちらを同じく公開設定ページにペーストします。

この状態で、「Slackと連携する」をクリックすると、Slackワークスペースとmiiboが連携されます。

連携されると、2つのURLが発行されます。
この2つのURLをSlackの設定画面で登録すれば、作業は終了です。

まずは、「Event Subscriptions」の項目へ移動し、Enable EventsをONにします。
Request URLにmiiboで表示された「Event Subscription Request URL」を登録します。

また、「Subscribe to bot events」に「app_mention」という項目を指定します。これにより、メンションに反応して、エージェントが応答を返すようになります。

右下のSaveを押して、次に進みます。
次に「Interactivity & Shortcuts」へ進み、機能をONにします。
Request URLにmiiboの「Interactivity Request URL」を登録しましょう。

これですべての設定が完了しました!🎉

手順6: Slackチャンネルに招待して会話する

Slackワークスペースにmiiboで作成したエージェントを連携できました。
あとは、チャンネルに招待して、話しかけましょう。

メンションに対し、応答を返しました!
教えてあげた専門知識を返すかも試してみましょう。

教えた情報を返してくれました!

まとめ

以上の手順で、簡単にSlackチャンネルへGPT−4ベースのチャットボットを導入することができました。GPT-4を利用しているので、「ChatGPTのSlack版」としても利用が可能です。また、miiboを利用してプロンプトの調整や専門知識を与えることで、さらに一歩踏み込んだ活用が可能です。

興味をお持いただけた方は、ぜひお試しいただけますと幸いです。
本記事をお読みいただきありがとうございました!

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