Bot Framework Composerで作る簡単FAQチャットボット
はじめに
Bot Framework Composer がv1.1.1になり、QnA Makerのナレッジベース作成がComposer上でできるようになりました。
これにより簡単なFAQチャットボットであればかなり素早く簡単にできるのではないかと思いますので、使い勝手を見ながらFAQチャットボットの作り方を書いていきます。
Bot Framework Composerとは
Bot FrameworkをベースとしたチャットボットがGUIで作れるツールです。
ノンコーディング、ローコーディングでチャットボットが作れます。
LUISやQnA Maker、Power Virtual Agentsとの連携ができます。
Introduction to Bot Framework Composer - Bot Composer | Microsoft Docs
作るもの
Azureの料金に関するFAQチャットボット
Azure の料金に関する FAQ | Microsoft Azure
使うもの
- Azure上のQnA Makerリソース
- Bot Framework Composer v1.1.1
参考
Create a QnA Maker knowledge base in Composer - Bot Composer | Microsoft Docs
手順
AzureにQnA Makerのリソースを作成する
Azureに[QnA Maker]というリソースを作成します。
価格レベルについて、Freeレベルで発行できるナレッジベースは2つまでのようです。
Azure リソース - QnA Maker - Azure Cognitive Services | Microsoft Docs
リソースの作成が完了したら、キーを取得します。
作成したQnA Makerのリソース内の[キーとエンドポイント]から、[キー 1][キー 2]のいずれかをコピーして控えておきます。
Bot Framework Composerからボットを作成するときに必要になります。
Bot Framework Composerでボットを作成する
Bot Framework Composer(v1.1.1)を下記よりインストールします。
Release 1.1.1 · microsoft/BotFramework-Composer · GitHub
Bot Framework Composerを起動します。
起動したら、ホーム画面で[New]をクリックします。
[Create from knowledge base(QnA Maker)]を選択し、[Next]をクリックします。
[Name]にプロジェクトの名前を入力します。
チャットボットの名前になるものではないです。
プロジェクトの保存場所も指定します。
[URL]に参考にするFAQサイトのURLを入力します。
今回はAzureの料金に関するFAQのサイトを使います。
[Create knowledge base]をクリックします。
ナレッジベースの作成が終わるとQnAの項目に入力したURLから読み取った質問と回答のペアが一覧で表示されます。
ここでさらにナレッジベースを追加することや質問回答のペアを追加することもできます。
マルチターンの設定はまだQnA Makerウェブサイトのようにはできないのかなと思います。
せっかくv1.1.1から多言語対応になったので日本語に設定します。
左下の歯車マークをクリックします。
[Bot Settings]>[Create copy to translate bot content]をクリックします。
[Japanese(Japan)]を選択します。
下の部分にもチェックを入れておきます。
[Done]をクリックします。
[Bot language (active)]と[Default language]を[Japanese(Japan)]に変更します。
ボットの作成をします。
右上の[Start Bot]をクリックします。
[QNA Subscription key]にAzureのQnA Makerリソース作成時に控えておいたキーを入力します。
作成が完了すると、[Bot Framework Emulator]で動作確認ができます。
TeamsやLINEなどのチャットボットとして使う場合には、今まで同様の方法でAzureにリソースを作成します。
過去記事などご参考いただければと思います。
Bot Framework ComposerでLINEボットを作ったときにつまづいたところ - オンプレ系インフラエンジニアがAzureを勉強する
注意
[Start Bot]をした後にQnA Makerのホームを見に行くと、こちらにもナレッジベースが作成されています。
しかし、ここでナレッジベースを編集しても、Bot Framework Composer側に反映されません。
反映されるどころか、[Start Bot]をするとBot Framework Composer上のナレッジベースがQnA Makerウェブサイトに上書き反映されるので、QnA Makerウェブサイト上で編集した内容は消えます。
このあたりのやりとりやナレッジベースを増やす場合についてはまた改めて試行錯誤したいと思います。
おわりに
QnA MakerとBot Framework Composerを行き来しながらしていた諸々の設定がBot Framework Composerだけで済むようになった、
手で設定してたappsettings.jsonの設定が不要になった、
あたりが個人的に便利になったなと感じたところでした。
マルチターンの作成やQnA MakerウェブサイトのKBとの連携がもう少しよくなるといいなと思いました。