從零開始玩人工智能-機器人服務-04

    前文書說到目前微軟的Bot機器人分爲五類,也從之前的Bot Framework遷往Azure的Bot Service。利用QnA Maker,咱們已經快速的作了一個對話機器人。那麼,怎麼讓這個對話機器人面向大衆提供服務呢?目前的架構而言,本身開發代碼連到QnA Maker機器人是一種作法,而使用Azure的Bot Service讓機器人更加容易部署,更加聰明也是一種作法。接下來就會看看怎麼在Azure裏部署一個機器人。npm

clip_image001[5] clip_image001

    在Azure的訂閱裏,從「AI+Cognitive Services」中直接新建一個「Web App Bot」。和以前定義的同樣,有五類機器人可選,並能夠選擇使用 C# 仍是 Node.js 來實現。Bot Service是泡在 IIS 的 Web 服務上的,因此建立Bot的時候,就會建立Web Bot App服務、Bot使用的應用服務和對應的應用服務計劃。Bot能夠選擇F0的計劃,這樣測試的時候不用花錢。應用服務計劃在隨Bot建立的時候,會自動選擇S1的標準計劃,這個計劃是要收費的,因此我趕忙把應用服務計劃改爲F1免費的。若是使用模板部署,能夠直接修改模板文件。架構

clip_image001[7]

    順便提一下,由於應用服務能夠按照須要進行伸縮,因此選擇合適的應用服務計劃是很好的作法。編輯器

    坐和放寬,不一會Bot服務就製備好了,由於選擇的是QnA的機器人,因此到應用配置中,輸入咱們以前建立的QnA Maker的訂閱ID和KB的ID。ide

image

    默認Bot服務就會開啓Web Chat的信道,信道的概念暫且不提,之後再寫。接下來,我就興沖沖的打開Bot機器人,選擇「Test in Web Chat」來測試個人機器人,但是,等了半天,對話窗口一直打不開。好失望……仔細檢查,應用服務記錄了500的HTTP錯誤。wordpress

    我回到Docs站點,查看微軟的文檔,示例選擇的是Basic機器人,難道跟機器人類型有關?這不科學啊。不過能夠建立一個Basic的來試試。測試

clip_image001[9]

    看上去貌似是正常的,問題在哪呢?翻來翻去,發現有個在線代碼編輯器,能夠直接在線查看代碼。立馬打開兩邊的代碼進行比較。spa

clip_image001[11]

    這是Basic機器人的,能夠看到你說啥它就回復啥。orm

clip_image001[13]

    這是QnA機器人,能夠看到使用環境傳入的訂閱ID和KB的ID鏈接QnA Maker的服務。代碼沒毛病啊,要是有問題,還能放到Azure裏?反正是Node.js,我就在編輯器裏運行唄。查看一下輸出,還真有很多報錯,提示依賴包沒找到……事件

clip_image001[15]

    Node.js的代碼不會寫,包我還不會安裝麼。看看都有啥包。ip

clip_image001[17]

     確實比Basic機器人依賴的包多啊。怎麼加這些包呢?又不是一臺IaaS的虛擬機,能夠遠程上去裝。看了看,在線編輯器竟然提供了Console~ 趕忙試試npm install,沒毛病~

clip_image001[19]

    趕忙把依賴的包所有都裝上,再次運行代碼。此次沒報錯了,回到Azure的Portal,繼續測試Web Chat。

clip_image001[21]

    此次終於能跑了。不過還有兩個問題:

    一、發送問題跟得到回答的時間挺長,我估計跟我所有選擇免費服務計劃有關,慢一點忍了。

    二、在這個QnA Maker服務裏,我同時添加了URL和上傳了KB文件(txt),可是隻有內置的和URL的KB可以響應。即便我把URL的KB刪除了,KB文件依然沒有生效。報了一個事件給QnAmaker.ai的反饋。

相關文章
相關標籤/搜索