AIチャットボットを作ってみる
2回「チャットボットとLINEを接続してみよう」
まずはオウム返しBotを作成
環境作り
Start Botが上手くいかない
.NET 3.1以上をインストールし直して、再起動で解決。
Test in Emulatorでエミュレーター画面へ
echoBotのsampleを使っていたので、オウム返ししてくれる。
ダイアログにて文言を変更して「こんにちは!てりーです。」とすると
ボットにもちゃんと反映される。
1回で作ったナレッジベースと連携する
ナレッジベースをpublishした時に発行したURLから、knowledgebaseid、hostname、endpointKeyを取得しechoBotに貼り付ける。
Azureにデプロイする
ここまでの過程を一旦Azureにデプロイする。
LINE_Bot/scriptsに行ってnpm install
とnode provisionComposer.js --subscriptionId=<Azure サブスクリプション ID> --name=<リソースグループ名> --appPassword=<任意のアプリのパスワード> --environment=<任意の環境名。既定は DEV>
をする。
エラー
User was not found.
** Provision failed **
となる。
この記事参考にtenantIdを加えたら進んだ。
次は以下のエラー
{
"error": {
"code": "InvalidBotData",
"message": "Bot is not valid. Errors: The bot name is already registered to another bot application.. See https://aka.ms/bot-requirements for detailed requirements."
}
}
appの名前をLINE_Botだったので被りが発生したよう。
--name=<リソースグループ名>
のリソースグループ名を調整して解決。
デプロイは少し時間かかる。
LINE development consoleに登録
「新規プロバイダー」作成。
「チャンネル設定」→「MessageAPI」を選択して必要事項を入力して「作成」を押す。
「チャンネル基本設定」にあるチャンネルシークレットは後で使うので、メモしておく。
LINEとAzureを接続
AzurePortalのリソースグループから、「ボットチャンネル登録」→「チャンネル」→「LINE」を選択し、さっきメモした情報を入力する。
webhook の URL をコピーしておく。
LINE development consoleにwebhookのURLを貼る
QRコードをスマホのLINEで開くとLINEのトークでBotとやり取り出来る
QnA knowlegebaseの作成をしていないので、1回の内容に戻る
1回 「QnA Markerを使ってチャットボットを体験する」
QnA Makerを使ってチャットボットを体験してみます。
またechoBotに利用できるナレッジベースの作成までやりたいと思います。
アカウント作成周り
Azureサブスクリプションのアカウントを作ったらQnA Markerにサインインして、ナレッジベースを作って行きます。
QnAリソースを作成
諸々登録。
アプリ名や名前がいちいち弾かれて面倒臭い。
ナレッジベースの作成
step1~5まで。
SoftwareDesign片手にサクサク進めた。
質問と答えをセットで手入力する
questionとanswerの部分がついになっているので、手入力で文言を入れていく。
実際に見てみる
「save and train」→「test」にて実際に体験できます。
1ペアしか質問と回答を作っていなかったので寂しいですが、ちゃんと機能はしてそうですね。
最後に「publish」でナレッジベースを公開してecoBotで使える状態にして終了です。