Categories
程式開發

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人


摘要:使用華為雲EI智能機器人技術,從0到1開發一款開源知識問答機器人。

前言

最近有幸參與了開源社開源問答機器人的知識庫編寫,碰巧看到華為雲也有類似的智能機器人,抱著試一試的心態,我開始了EI智能機器人的體驗之旅。儘管實際操作很簡單,但從知識庫的遷移、問答機器人掛載到微信公眾號,我還是經歷了不少坎坷。

首先是問答知識庫,由於我們之前協作的開源知識庫基於微軟的機器人模板,當我將它遷移到華為雲EI智能機器人時,需要做的第一件事就是調整問答模板的格式,並且將問答對準備地填充。然後因為是試用,中途我覺得知識庫結構有點凌亂,想進行刪除操作,但只能小批量的刪除,於是想到“刪庫跑路”,果斷把實例給刪了,結果不能再試用了。看到500多的購買費用,我望而卻步。最後,為了能夠完整地體驗,終於橫下心又重新註冊並實名制了一個華為雲賬號,好在一個人最多能認證3個賬號且新認證的還能繼續體驗試用。

整個體驗過程還算滿意,我覺得用來學習一下新的知識還是非常有意義的。

如果您也想為開源知識庫貢獻力量,歡迎訪問小源的github倉庫:https://github.com/kaiyuanshe/xiaoyuan, 或者添加開源社機器人-小源的微型chatbot-yuan進行體驗。本次實踐僅對小源進行簡單的複現,歡迎和我一起交流學習心得!

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 1

準備

要想體驗華為雲EI智能機器人,有兩個必要條件和一個前提:

必須註冊華為雲賬號;必須進行實名認證;前提是沒有試用過EI智能機器人。 (千萬記住試用的實例別刪,刪除等於試用結束!!!)

我們首先在華為雲服務列表中找EI企業智能-對話機器人服務,點擊右上角購買問答機器人按鈕進行購買。

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 2

購買完成後等待實例創建完畢,即可體驗問答機器人服務。

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 3

點擊機器人管理可以進入到機器人的維護頁面,包括一些運營數據及分析、知識庫的管理、技能的管理等。

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 4

此外,我們還要準備一個知識庫,適用於華為雲EI機器人的模板可在知識庫管理頁面中下載,開源知識庫的元數據可以訪問開源知識庫編寫, 地址:https://shimo.im/ sheets/BIK6IttNfRo0WVFD/gOEGJ 。目前我們採用的是石墨文檔協作,歡迎您的參與!

知識庫導入

知識庫的導入其實包括很多細節,原來的開源知識庫基於微軟機器人的模板,我們需要轉換才能使用。當然,最開始我是想用腳本的,嘗試了一下發現人工遷移更加快捷,花了點功夫遷移了知識庫。期間遇到一些小小的問題,比如第一次導入知識庫時,平台進入死循環一直調用接口,幸虧我及時修改導入的文件,才沒有“***名單”。另外,我在導入過程中發現每次最多只能上傳500條,導致我又將我修改好的知識庫重新分割成兩份。

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 5

下邊第一張圖是微軟機器人知識庫的簡要模板,第二張圖是華為雲EI機器人的知識庫簡要模板。經過對比其實改動並不大,於是我又順便學了下Execl。

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 6

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 7

導入完畢之後,服務端會返回本次導入的結果,儘管有些報錯,這次我就忽略當作沒看見,畢竟只是體驗,當然,您感興趣的話可以根據記錄修改數據進行重新導入。

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 8

應用授權

目前華為雲EI機器人支持直接授權到公眾號,將對話功能一步到位直接綁定到微信公眾號。本次操作已綁定到我的這個賬號上,操作的話也非常簡便,在高級設置=應用授權頁面,點擊授權微信公眾號拉取授權的彈框,用微信掃碼就可授權到相應的公眾號。

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 9

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 10

幾秒鐘的功夫,就完成授權。去到我的公眾號上簡單驗證一下:

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 11

進階玩法

兜底

兜底是對話機器人最常用到的設置,也就是當機器人無法回答問題時會拋出我們預設好的答案。在華為雲EI對話機器人中默認設置的兜底回復是“我不知道該怎麼回复您”,如圖我們新增了兩條,對應地測試一下,只要保存了就是實時生效,這點很不錯,當然也要格外注意別寫錯別字。

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 12

角色形象設置

EI對話機器人默認的名字是雲寶,雲寶是華為雲的吉祥物。而我們開源知識庫裡定義的角色名叫小源,所以會有些衝突,嘗試修改為小源,但似乎並沒有生效,我在風中凌亂……

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 13

技能

我們可以給機器人加10個技能,技能可以是自定義的,也可使用預置的技能如AI作詩、查天氣等,還可以使用其他開發者共享的技能。當前我給華為雲版的小源添加了預置技能,感受一下“藏頭”詩和查天氣:

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 14

自定義技能中我們可以意圖對話、多輪對話、訓練機器人等等。這裡就不多描述,但是需要強調的是自定義技能真的很好玩,要想實現LICENSE選擇器的功能,就需要用到對話流程管理。

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 15

另外還有詞典、知識共享等功能期待大家探索。

原來AI也可以如此簡單!教你從0到1開發開源知識問答機器人 16

結語

不得不感嘆:靈感也許稍縱即逝!從初步的想法到落筆成文,我卻是爭分奪秒。

昨天偶然聽說華為雲EI有場關於對話機器人的分享,結合我之前在小源項目的經歷,沒想到還真實現了華為雲版的開源知識問答機器人。以前每次課常常聽到零一老師的洗腦式口號:“學AI就到huaweicloud.ai”,經過這次實踐,也恰恰再次驗證了這句口號。我是Copy攻城獅,連我都學會了Copy問答機器人,原來AI也可以如此簡單!

點擊關注,第一時間了解華為雲新鮮技術~