QnA Maker サービスを作成して KB を公開する
QnA Maker が一般公開されましたため、今回は、QnA Maker サービスを作成して KB を公開するまでの手順を、以下の公開ドキュメントに沿ってご案内いたします。
(1) Create a QnA Maker service の手順に沿って QnA Maker サービスを作成
(2) Create-Train-Publish your knowledge base の手順に沿って KB を作成して公開
その前に、QnA Maker のプレビュー版をご利用いただいていた方はアーキテクチャの変更に戸惑われるかもしれませんので、まずは、変更後のアーキテクチャを踏まえて、ご利用のための以下の大まかな流れをつかんでいただきたいと思います。
上記の図は、Learn about QnA Maker のドキュメントからの抜粋です。図の右下に、以下の 3 つのサービスが追加されており、それぞれ以下の役割をもっています。
(A) App Service
QnA Maker のランタイムは、App Service としてデプロイされます。
(B) Azure Search
Q&A や類語(Synonyms) やメタデータはAzure Search に保存されます。
(C) App Insights
App Insights を、QnA Maker サービスの作成時に有効にしておくことで、全てのChat logs (チャットのログ) を保存することができます。
上記の図に振られている番号の手順 (1 ~ 5) の流れを訳し関連リンクを貼っておきます。
-
- Azure ポータルでQnA Maker のリソースを作成します。
-
- QnA Maker ポータルにログオンします。
-
- Knowledge Base (KB) を作成します。
-
- QnA エンドポイントをBot で使用します。
-
- QnA Maker ポータル またはAPI
を通じてKB を管理します。
- QnA Maker ポータル またはAPI
API の言語ごとのドキュメント (C#, Java, Node.js, Python, Go)
それでは、以下QnAMaker のサービスを作成し、KB を公開するところまでの手順をご紹介していきます。
(1) Create a QnA Maker service の手順に沿って QnA Maker サービスを作成
-
- Azure ポータルにログオンします。
-
- [ リソースの作成] をクリックします。
[新規] の検索ボックスに “qna maker” と入力し、Enter を押すと、以下のように QnA Maker のリソースが表示されるので、それを選択します。
-
- 以下の画面で [作成] をクリックします。
-
- 以下の画面で必要な項目を入力していきます。
l Name はこのQnA Maker サービスを特定するユニークな名前です。この名前は、KB を関連付けるQnA Maker エンドポイントも特定します。
l サブスクリプションには QnA Maker リソースをデプロイするサブスクリプションを選択します。
l Management pricing tier は QnA Maker のポータルとAPI の価格レベルです。各価格レベルの詳細は、Cognitive Services の価格 - QnA Maker をご参照ください。
l Resource group は、QnA Maker リソースをデプロイするリソースグループを新規作成 (推奨) または既存のものを使用します。
l Search pricing tier は、Azure Search の価格レベルを選択します。Free レベルがグレーアウトされている場合は、すでにお使いのサブスクリプションでは Free レベルをすでに利用していることを意味します。その場合は Basic レベルをご利用ください。価格レベルの詳細は、Azure Search の価格 をご参照ください。
l Search location は、Azure Search のデータをデプロイしたい場所です。お客様のデータを保存しなければならない場所に関する制限は、Azure Search のデータを保存するのに選んだ場所になります。
l App name には、ご自身のApp Service の名前を入れます。
l デフォルトではApp Service の価格レベルはStandard (S1) になります。これはリソースの作成後に変更できます。App Service の価格レベルの詳細は、App Service の価格 をご参照ください。変更方法は後述の補足に記載したドキュメントをご参照ください。
l Web location は、App Service をデプロイする場所です。上述の Search location とは別の場所にすることができます。
l Application Insights
をEnable にするかどうかを決めることができます。Enable にしておけば、トラフィックのテレメトリーや、チャットログ、エラーを保存することができます。
l App Insights location は、Application Insights をデプロイする場所です。
補足:各サービスの価格レベルの変更方法は、Upgrade your QnA Maker service のドキュメントをご参照ください。
-
- 全ての項目に有効な入力がされていれば、 [作成] をクリックして、ご自身のサブスクリプションでこれらのサービスをデプロイします。完了までに数分かかります。
-
- デプロイが完了して、当該リソースの [Overview] の [リソース グループ] の名前をクリックすると、以下の図のように上述したリソースが作成されたことを確認できます。
(2) Create-Train-Publish your knowledge baseの手順に沿ってKB を作成して公開
上記ドキュメントの手順では、BitLocker Recovery FAQ のサイトをもとに KB を作成しますが、本ブログは日本のお客様向けですし、当該サイトは日本語のものがないようなので、例として、Azure サポートに関する FAQ を使ってみます。
1. (1) のAzure ポータルへのアクセスと同じ資格情報で、QnA Maker ポータル の右上の [Sign in] からログオンします。
ちなみに、以前使っていたプレビュー版のポータルは、上記画面の[QnAMaker Preview portal] をクリックすれば、< https://www.qnamaker.ai/old > で確認できます。プレビュー版からのKB の移行方法は上記画面の [here] をクリックすれば Migrate a knowledge base using export-import のドキュメントをご参照いただけます。
2. 画面上部の [Create a knowledge base] をクリックします。
3. まだ (1) の手順を行っていない場合は、STEP 1 の [Create a QnA service] をクリックします。今回はスキップします。
4. STEP 2 の各ドロップダウンリストを選択していきます。
5. STEP 3 の Name your KB に、ご自身のKB 名を入力します。今回は例として “My Sample QnA KB” と入力します。
6. STEP 4 の Populate your KB に、FAQ のサイトのURL またはファイルを指定します。今回は例としてAzure サポートに関する FAQ のURL を使ってみます。
7. STEP 5 の[Create your KB] をクリックします。
8. 以下のポップアップが出るので、KB が作成されるまで、しばらく待ちます。
9. KB が作成されると、以下のような Knowledge base のページが表示されます。ここで、QnA を編集できます。
10. 画面右側の [Add QnA pair] をクリックし、Question に「こんにちは。」、Answer に「Azure サポートについてご質問ください。」と入力してみます。
11. Save しない限り、上記の編集内容は維持されません。画面右上の [Save and train] をクリックすると、編集が保存され、この QnA Maker のモデルが学習されます。
12. さらに右の [Test] をクリックし、学習結果を確認してみます。テキストボックスに「こんにちは。」と入力してみます。
13. Inspect をクリックすると、さらに詳細を確認できます。Confidence Score の詳細は、Confidence Score のドキュメントをご参照ください。
14. Test 画面の表示をやめるには、再度 [Test] をクリックします。続いて、KB を公開するために、画面上部の [PUBLISH] タブをクリックします。
15. [Publish] をクリックします。
16. Publish に成功したら、以下の画面のエンドポイントを、ご自身のアプリやBot に組み込みます。
上記がお役に立てば幸いです。
Cognitive Services 開発サポートチーム 津田