在前篇文章[Cognitive] 使用Microsoft Cognitive QnA Maker Service,快速建立線上客服問答服務中,說明了如何運用Azure上的QnA Maker快速的作出問答的功能,但是微軟在2018/05/07這一天,將QnA Maker正式的公開使用了,所以使用、管理上的方式與Preview有一些的不一樣,而正式GA的QnA Maker的版本也來到了4.0
在這篇文章中,就會針對正式GA的QnA Maker進行使用的介紹,當然了,操作原理還是相同沒有改變的
1.要建立一個正式的QnA Maker服務,首先必須先在Azure上,輸入[QnA Maker],就可以找到相同名稱的服務並建立
2.點選建立服務後,輸入QnA Maker服務的設定內容時,在這裡作了一個很大的改變,QnA Maker這個服務本身就會收取費用,當然也可以選取F0的免費層級,但是這樣在FAQ文件庫的管理中,就只能有三份文件庫的上限管理,若是選擇S0的話,FAQ文件庫就是無上限的設定,不管選擇F0或是S0,QnA Maker被呼叫的頻率上限都是每秒3次
3.而在[Search pricing tier]的設定中,在正式GA的QnA Maker服務裡,FAQ的內容是放在[Azure Search]這項服務中的,所以在建立QnA Maker的服務時,也會同時建立[Azure Search]這項服務,而[Azure Search]服務也必須額外付費。在這裡必須注意一點的,就是選擇不同的費用層級,所能夠進行資料的保存大小與筆數都會有所不同,而免費的F層級,每一個訂閱只能建立一個,這一點需要特別注意
4.在設定QnA Maker的畫面中,最後會要求輸入一個WebApp的名稱,那是因為QnA Maker將WebAPI,透過佈署到WebApp的方式,將服務放入至WebApp之中,所以會多建立一個WebApp與App Solution Plan
從下圖可以看到,建立完QnA Maker的服務後,會建立出四個服務項目,分別是[QnA Maker]、[App solution Plan]、[Web App]以及[Azure Search]四個服務項目
5.接著先離開Azure Portal,連上https://www.qnamaker.ai/這個網頁,由於新版的QnA Maker是將FAQ的內容放在[Azure Search]的服務中,但是Azure Search的服務並沒有資料的維護介面,因此必須透過qnamaker.ai這個網頁,進行FAQ資料的維護,系統會將維護的內容寫入至Azure Search之中。
在開啟qnamaker.ai的網頁之後,先點選上方的[Create a knowledge base]的連結
6.在Create a knowledge base的頁面中,可以透過點選的方式,將剛剛在Azure Portal中建立好的QnA Maker服務直接選進來,選好之後,也必須給予一個要放入至這個QnA Maker的文件庫一個名稱
7.點選建立之後,這份文件庫就會與QnA Maker的服務綁在一起,接著在[EDIT]的頁面中,就可以進行FAQ的編輯,在這裡我先輸入兩個問答並點選[Save and train]
8.訓練完成之後,可以點開右上方的[-> Test]進行測試,看一下訓練的結果,有沒有符合FAQ內容與問答結果
9.確定FAQ的內容沒有問題之後,點選上方的[PUBLISH],將QnA Maker的服務正式佈署到WebApp中,而在佈署完成後,系統會顯示該如何使用QnA Maker的API,而要呼叫的時候也必須在Header中代入[Authorization]的內容,不然會被視為不合法的請求
10.最後用POSTMAN試試看,已經可以從QnA Maker的Web App上取得FAQ的結果了
11.接著回過頭來看一下,在Azure Portal中的[Azure Search]服務,在Azure Search的服務中,可以看到文件計數是使用了2筆,而總使用量的文件是4筆,儲存體也有使用到一些空間,不過量不大,畢竟只有文字內容而已
QnA Maker這個服務在2018/05/07正式GA之後的改變,在管理與底層服務的架構上算是改變很大的一項服務,不過針對服務性質來說,FAQ以及文字模糊比對的使用原則不變,所以只要改變一下建立與資源管理的方法,QnA Maker一樣是個很不錯的服務