QnA Maker はノンコーディングで FAQ チャットボット (Chatbot, 以下 Bot) のコア部分(FAQ DB +検索サービス)を作成できるサービスです。FAQ のリスト (Q と A のペア) をアップロードすると、DB と検索サービスが自動で作成され、質問を Post すると 検索結果から可能性の高い回答が Response として返される Web API が生成されます。
ブラウザーだけで&1ステップでチャットボットが作成できる Azure Bot Service には QnA Maker をつかうテンプレートが用意されています。Azure Bot Service + QnA Maker を使って、ノンコーディングで FAQ チャットボットを作成する手順を紹介します。
- Azure Bot Service について
- Azure Bot Service とは (※別のページに飛びます)
- Azure Bot Service の仕組み (※別のページに飛びます)
- 準備
- 手順
- (1) QnA Maker 編 (※別のページに飛びます)
- Azure Portal から QnA Maker アプリの作成
- QnA Maker Web サイトから QnA Maker アプリの設定、展開
- (2) Bot Service 編
- (1) QnA Maker 編 (※別のページに飛びます)
準備
Microsoft アカウント の取得
Azure サブスクリプション申し込みに必要です。
Azure サブスクリプション申し込み
無料試用版で充分です。上記↑で取得した Microsoft アカウントで申し込みを行います。(無料のプランがあるので、従量課金プランでも大丈夫ですが念のため。)
QnA Maker アプリ
(1) QnA Maker 編 の手順で、QnA Maker アプリを作成し、HTTP request の情報 を取得しておきます。
手順
(2)Bot Service 編
Azure Portal から Question and Answer テンプレートの 新規 Azure Bot Service アプリの作成
手順は 祝GA!Azure Bot Service 概略&作成~公開手順 の手順と同じですが、Question and Answer テンプレート を利用します。
再度 Azure Portal をブラウザーで開きます。
左端ナビゲーションバーの [+]をクリックします。(リソースの新規作成)
検索欄に [bot] と入力します。
Web App Bot、Function Bot, Bot Channels Registration という同じ Bot マークのサービスが表示されます。
今回は Web App Bot を選択、Web App Bot ペインで [作成] をクリックします。
Bot Service ペインで設定内容を入力します。
- ボット名
- Bot Channel への登録名 (BotID) になります。Bot Channel の中でユニークになる名前を設定します
- サブスクリプション (デフォルトのまま)
- リソースグループ
- 既存のものを使用を選択して QnA Maker アプリを作成した リソースグループを選択します
- 場所
- Botアプリをホストする Web App のロケーションを選択します。QnA Maker アプリと同じロケーションが良いですね
- 価格レベル
- ここでは F0(無料のプラン) を選択します。
- アプリ名
- ボット名と同じ名前が自動入力されます。BotアプリをホストするWebサーバーとしての名前になります。azurewebsites.net の中でユニークになる名前を設定します
- ボットテンプレート
- クリックしてテンプレートを選択します。今回は SDK V3、C#、Question and Answer を選択します
- App Service Plan
- 新規 (または作成済み) の Web App のプランを選択します。無料の Free Plan を利用可能です。
入力したら、[作成] をクリックして Bot アプリの作成を行います。
「展開が成功しました」というメッセージが表示されたら作成完了です。[リソースに移動] をクリックして、Bot アプリの設定確認とテストを行います。
Azure Bot Service アプリの QnA Maker 用設定
作成した Web App Bot の設定ペインが表示されます。
概要ペインにメッセージングエンドポイントが表示されています。Bot Framework Emulator を使ってテスト行う場合は、こちらの URL にアクセスします。
設定ペインのメニューの APP SERVICE 設定 にある アプリケーション設定 をクリックして、QnA Maker 向けの設定を行います。
アプリケーション設定 をスクロールして アプリケーション設定 の項目を表示します。
QnA Maker アプリ を展開した後に表示された情報から以下の設定項目に値をコピーします。
アプリケーション設定 画面上部にある [保存] をクリックして、設定を保存します。
Sample HTTP request の情報 |
---|
POST /knowledgebases/KnowledgeBaseID情報/generateAnswer Host: https://yourQnAHost.azurewebsites.net/qnamaker Authorization: EndpointKey AuthKey情報 Content-Type: application/json {"question":""} |
設定項目 | 設定する値 |
---|---|
QnAAuthkey | EndpointKey AuthKey情報 |
QnAEndpointHostname | https://yourQnAHost.azurewebsites.net/qnamaker |
QnAKnowledgeBaseId | KnowledgeBaseID情報 |
Azure Bot Service からの動作確認
設定ペインのメニューから Test in Web Chat をクリックすると、作成した Bot アプリ の動作確認を行うことができます。