概要
Cognitive ServicesのFunctions BotとQnA Makerを使用してノンコーディングでFAQができるBotを作りたいと思います。
その後、Slackと連携してSlack上から簡単に質問ができるようにします。
QnA Maker
新規作成
QnA Makerにアクセスをし、Create new serviceを選択します。
サインインをしていない場合はサインインを求められるのでお持ちのMicrosoft Accountでサインインしてください。
Creating a QnA serviceのページに遷移するので必要事項を入力します。(初回の場合利用規約への同意画面が出てくるのでI agree to...にチェックを入れ、Continueをクリックします。)
- SERVICE NAME
QnAのサイトで表示される名前です。自分の分かりやすい名前を付けるとよいと思います。 - URL(S)
元にしたいFAQサイトがある場合にここにURLを入力すると自動でページを解析し、追加してくれます。
- FILES
元にしたいファイルがある場合はここに追加します。使用できる拡張子などを確かめて追加しましょう。
今回はURL(S)にAzure サポートに関する FAQを使用しました。
入力が完了したらCreateボタンをクリックします。
4.作成完了
FAQを手動で追加したい場合は右側の「Add new QnA pair」を、URLからまとめて追加したい場合は左側のSettingから追加することが出来ます。
Test
ここまでで作成が完了したのでにTestを行います。
Testタブを選択して先ほど設定した質問をします。設定した答えが正しく返ってきたら成功です。
保存&学習&公開
最後に「Save and retrain」を行ってから「Publish」をします。
このような画面が表示されるのでPublishをクリックし、公開完了です。
Azure Bot Serviceで使用するキーをメモする
完了後に遷移する画面でこの2つをメモしておきます。後でAzure Bot Serviceとの連携の際に使用します。
Azure Bot Service
新規作成
Azureにアクセスし、リソースの作成から「bot」で検索します。
5.アプリケーション設定から「QnAKnowledgebaseId」「QnASubscriptionKey」にそれぞれ先ほどメモした値を入力します。
6.Azure上でもテストをしてみます。これで正しい答えが返ってくればひとまずBotとしては完成です。
Slackと連携する
毎回Azureのポータルからアクセスするのは面倒なのでSlackに質問を投げるとBotが反応し、答えを返してくれるようにします。
Slackのアプリを作成する
- create a Slack application.からCreate New Appを選択し、新しいアプリを作ります。
- 必要事項を入力し、「Create App」をクリックします。
- Basic Informationにある「App Credentials」の内容が後で必要になります。
- OAuth & Permissionsにある「Redirect URLs」にhttps://slack.botframework.com/Dev/Validate を追加し、「Save URLs」をクリックします。
Functions Botの設定をする
使用したいchannelにBotを追加
Basic InformationのBuilding Apps for Slackの設定を行うと自分のchannelにBotを追加することが出来ます。
完成!!
これでSlackから作成したFAQのBotにアクセスすることが出来るようになりました。