利用 Azure 來做問答機器 (7) – 實測心得&綜合整理 (完)

實測心得

稍微分享一下,好壞可以評估:

  • 以結果來看,這真的是 No Code 就能建立一個問答機,可以了解單次問題的語意來找到資料來源並且做個摘要回答。
  • 比較過 PDF / URL 兩種方式來建立問答庫,URL 的效果較好,因為能呈現裡面的圖片等非文字資訊,但也會帶出網頁中的雜訊。(有好有壞)
  • 如果使用者手中就擁有這些問答庫的話,也許透過進階的搜尋就可以自己手動找到;所以關鍵在使用者有沒有抓到 “關鍵字" 的能力。
  • 問答庫的建立需要一點巧思,最好是小問題小解答,不會一次暴露過多資訊使人迷亂。
  • 這模型比較像是生活中去找信用卡客服專線那種感覺,實際若部署到真實網路上是依量計費喔。

重新回顧

最後就來提供完整的步驟,方便有興趣有需要的人索引。

中英對照

  • “資源群組" = Resource groups
  • “虛擬網路" = Virtual networks
  • “認知服務" = Cognitive Services
  • “語言服務" = Language service

利用 Azure 來做問答機器 (6) – 開始封測啦!

接續前篇 利用 Azure 來做問答機器 (5) – 佈署問答機器人 的努力,終於來到這裡啦~我們要來試試看,目前為止都沒有寫過任何一行程式碼,這樣利用 Azure 建出來的問答機器聰不聰明呢?一起來看看。

p.s. 如果你第一次閲讀這篇,可參考這篇 如何開始使用 Azure 來創建雲端服務 從蓋地基開始。

11. 回到你的 Azure “資源群組" 找到建立的機器人

我前面已經測試了一些,這次建立的是 you-will-know-bot ,點擊它。

進入機器人 you-will-know-bot 的頁面,按下 “在網路聊天中測試"。

12. 開始問答測試囉

我建立的問答庫是關於 Windows Update / Modern Standby / Markdown 三種資訊,所以接下來進行不同試問:

Q: what is markdown (試看看用英文問行不行)

它會先用一句簡單回答,然後再依問答庫中的URL帶出段落的資料。

Q: 請問markdown官網連結是? (試看看用中英文夾雜著問,行不行)

看起來ok呦!

Q: what is windows update

一樣地,它會先用一句簡單回答,然後再依問答庫中的URL帶出段落的資料。不過它好像也把URL導向的網頁中的按鈕顯示出來。

Q: 利用指令來取得Windows Update History (試看看能否了解語意,從文章中找出解答)

看起來可行喔!

Q: (我問了其它的問題,然後接著前面的問題繼續問) what is the command (測試是否能連串前面的問題來問答)

它說"你撥的號碼沒有回應,請稍候再撥"。

這串回應是我在建立這個問答集時的設定,當它在這個問答集無法找出答案時,就會回答這串文件。

這表示,它無法從前面問過的問題,接續理解我後面提出的問題,可惜啊。

中英對照:

  • “資源群組" = Resource groups
  • “虛擬網路" = Virtual networks
  • “認知服務" = Cognitive Services
  • “語言服務" = Language service

利用 Azure 來做問答機器 (5) – 佈署問答機器人

前篇 利用 Azure 來做問答機器 (4) – 建立問答資料庫 循著 “Language Studio" > “Custom question answering" 建立了簡單的自訂問答資料庫,那麼要來佈署囉!

p.s. 地基蓋好了沒(建立 “資源群組"來畫地盤,登錄"虛擬網路"來給地址),如果你第一次閲讀這篇,可參考這篇 如何開始使用 Azure 來創建雲端服務 開始。

9. 佈署我的問答集

從左邊小按鈕找到 “Deploy knowledge base" 按下去~

來到 Language Studio" > “Custom question answering" > 我的問答集之 “Deploy knowledge base"

按下 “Deploy" 它提示你,後面可以整合一個機器人喔。

再按一次 “Deploy"。

10. 建立問答機器人

其實這套 Azure AI | Language Studio 蠻友善的,你按下佈署之後,它就詢問你要不要建立機器人,按下 “Create a bot" 吧。

這邊的 “資源群組" 就是一開始建立的,Bot handle 就是你輸入的機器人名字。

還記得你的金鑰在哪裡嗎?忘記了可以回到 “語言資源" 裡找一找。

或是看這篇回顧一下:利用 Azure 來做問答機器 (3) – 啟用 “語言資源" 並取得 “管理金鑰"

最後的資訊確認後,按 “建立" 。

恭喜你,部署完成囉!

下一篇我們要來測試結果,好期待~~~

中英對照:

  • “資源群組" = Resource groups
  • “虛擬網路" = Virtual networks
  • “認知服務" = Cognitive Services
  • “語言服務" = Language service

利用 Azure 來做問答機器 (4) – 建立問答資料庫

前篇 啟用 “語言資源" 並取得 “管理金鑰" 之後,感覺好像拿到新家的鑰匙,接下來要繼續作業囉。

p.s. 地基蓋好了沒(建立 “資源群組"來畫地盤,登錄"虛擬網路"來給地址),如果你第一次閲讀這篇,可參考這篇 如何開始使用 Azure 來創建雲端服務 開始。

覆習一下,我們的目標是做到這一項功能 — “認知服務" > “語言服務" > “問題解答"。 現在要從 “Language Studio" > “Custom question answering" 來完成自訂問答資料庫。

這裡選擇你要使用的語言,我選繁體中文 Chinese_traditional 。

再針對必填欄位繼續做一些設定:

  • Azure search resource: 這個系統帶,不管它
  • Name: 取一個問答資料庫的名字 (因為我已經建立了一個 “you-will-know")
  • Source language: Chinese_Traditional (上一步選的)
  • Default answer when no answer is returned: 你撥的號碼沒有回應,請稍候再撥 (這是當問答資料庫沒辦法找到適當回答時,會顯示的提示文字,你可以發揮你的幽默感 ≡ )

以上填完,就可以按 “Create project" 來送出啦。

8. “Language Studio" > “Custom question answering" > 我的問答集之 “Manage sources"

終於來到這裡,要來建立問答資料庫啦,有問有答但先要有所本。

點擊 “Add source",這裡提供 2 種? 方式 – URLs, Files。

Files 之前我試過,markdown文件不行,但 PDF 可以,於是我把 markdown 轉存成 PDF 上傳;

這次我想來試試 Urls。

接下來,利用我目前貧窮的技術知識來試看看。Add url > 輸入 URL > 隨意取個 URL name > Add all。共加入3個source。

實際上,因為免費試用也只能加3個;再多,一樣,要收錢的。

好啦!透過上方的小鈴噹顯示的 Adding source… 有綠色的勾勾,加上左邊 Source 列表,確實都上傳好了。

休息一下,下次再繼續更新。

中英對照:

  • “資源群組" = Resource groups
  • “虛擬網路" = Virtual networks
  • “認知服務" = Cognitive Services
  • “語言服務" = Language service

利用 Azure 來做問答機器 (3) – 啟用 “語言資源" 並取得 “管理金鑰"

前篇 利用 Azure 來做問答機器 (2) – 了解 “語言服務" 告訴我們,現在要繼續往下走。

p.s. 進入以下操作前,記得還是要先有地基(建立 “資源群組"來畫地盤,登錄"虛擬網路"來給地址),可參考這篇 如何開始使用 Azure 來創建雲端服務

5. 就從 “認知服務" > “語言服務" > “問題解答" 著手吧!

說真的,以雲端小白來說,很多專有名詞無法一下子就理解,而且這文件也不是絕對的,就能參考的都大概瀏覽一下,先有概念。我覺得利用文件系統左邊的目標鎖定小範圍閱讀是好的開始。

先看 問題解答快速入門 看怎麼著手。這邊告訴我還要去啟用一個 “語言資源",動手吧!

6. 啟用 “語言資源" 並取得 “管理金鑰"

語言資源 導引到這個頁面,看起來有兩個自訂功能可以選,由於第二項提到 ‘健康文本分析’ ??? ,我想暫時先不著,先勾選"自訂問題解答"。

這邊的 “資產群組" 一樣選前面建立的 REPOxxxx ,然後照規則輸入一個名稱,我取 ask-anything。這邊要特別注意的是 慎選"定價層",因為不同的層級有不同的收費標準,免費試用的是 F級,這裡的 S級是要收費的喔。

從這邊一步一步往下設定,最後會得到以下的結果:

這裡要注意的是 “管理金鑰",後面會使用到,記得回來這邊找。

補充説明:"免費試用" 與 “隨選隨用"

免費試用 指的是 取得 USD200 的點數,必須在 30 天內用完。當您擁有點數時,可獲得免費數量的多項最熱門服務,加上超過 55 項永遠免費的其他服務。

基本上在登入 Azure 時,即使是免費試用,它還是會要求你輸入信用卡卡號,但是它不會直接扣款。而是在你要建立每個服務時,讓你選 “定價層" 之類的,因為每種服務的定價都不一樣,所以它也會在該服務要收費的地方提供一個報價連結,像是 語言服務定價;所以要正式部署時,可以斟酌一下。

中英對照:

  • “資源群組" = Resource groups
  • “虛擬網路" = Virtual networks
  • “認知服務" = Cognitive Services
  • “語言服務" = Language service

利用 Azure 來做問答機器 (2) – 了解 “語言服務"

前篇 利用 Azure 來做問答機 (1) – 認識 “認知服務" 利用 “QnA Maker" 雖然失利,至少認識了 Azure 的 “認知服務",現在要重新振作繼續蓋第一樓~GO! p.s. 進入以下操作前,記得還是要先有地基(建立 “資源群組"來畫地盤,登錄"虛擬網路"來給地址),可參考這篇 xxx。

3. 再次登入 Azure ,一樣從左上角三條線選單中,挑出 “認知服務"。

4. 第二方案開啟: “認知服務" > “語言服務"

回到 “所有服務" > “認知服務" 找看看,Language Service 應該就是 “語言服務",一樣先來 “深入了解" 一下。

來到了語言服務 這個頁面,先看介紹,下面也有一個 “Answer questions" 值得一探。

What is Azure AI Language? 的功能清單(Available features) 看到 Question answering ,這應該就是我想要的。

再看 Question answering 確認它可以將這些文件 (例如常見問題集、產品手冊、試算表或網頁) 會轉換成問答組。 嗯嗯,這值得一試。 (第二次點入是 中文的介紹 ,語言若有支援的話,可以按文章上方的地球切換喔。)

[相關連結]

利用 Azure 來做問答機 (1) – 認識 “認知服務"

繼前篇 如何開始使用 Azure 來創建雲端服務 在 Azure 後打了一些地基(建立 “資源群組"來畫地盤,登錄"虛擬網路"來給地址 之後,我們可以來在雲端蓋房子啦!

第一樓來蓋個聊天機器人~GO! 因為 Azure 裡有許多專有名詞,這邊就拆成小篇章來進行導引。

1. 登入 Azure 之後,一樣從左上角三條線選單中,挑出 “認知服務"。

2. 第一方案 “認知服務" > “QnA Maker"

進入 “認知服務" 之後,發現不得了了,裡面還有更多選項,參照外文介紹是使用 “QnA Maker"。之前提到 Azure 仍持續發展中,所以不急著建立,先點入 “深入了解" 打開介紹頁面來對照。

這文件也是琳瑯滿目啊,先看 “What is QnA Maker" 來確認是不是我想試做的功能。

傷心啊!我參考的外文範例雖然使用的是 “QnA Maker",但是這個服務從 2022 年 10 月 1 日開始就無法建立,未來也將停用。

不過它有留一條活路,就是未來成為 Azure AI Lange 的一部份,可能是使用 “Language Service" 之類?來找找。

先關掉這些令人感傷的頁面,要重新收拾再開始了。下篇見~

[相關連結]

如何開始使用 Azure 來創建雲端服務

1. 登入 Azure (免費試用)

因為是使用 Microsoft Azure 的雲端服務,第一步是先登入 Azure 看看。

網址:https://azure.microsoft.com/en-us/free/

這邊可以看到 Microsoft 的 Azure 不是簡單的服務,其實很多都是按使用量計價。不過為了推廣使用,他還是有開放免費試用,這邊按 “Start free" 進去瞧瞧。

從左邊選單點入 “所有服務" ,就可以看到 Azure 提供哪些東西。尤於服務種類實在太多了,開發的速度比普及的速度還快,所以很多項目有中英混雜的感覺,其實從字面上不太容易理解。

建議可以將滑鼠移至你有興趣的項目,它會浮出一個小提示視窗,並提供 概觀 / 開始使用 / 文件 等連結可以去了解該功能的細節。這邊也要注意,雖然有些功能說明文件已經中文化,但一樣有口齒不清的問題,有疑惑的地方還是要中英對照看看。

2. 建立 “資源群組"

所有始用的 Azure 服務,都必須屬於某個 “資源群組" ,所以第一步從左上角的三條線拉出選單中,點選 “資源群組" 來建立。

主要就是為你的 “資源群組" 取個名字,其它就先按下一步即可。

完成了就像這個樣子。

3. 建立 “虛擬網路"

因為這些服務都是在雲端執行,如果你創立的服務想在網際網路上使用,就必須借用 Azure 的 “虛擬網路" 來建立錨點,就是 Domain 的意思,像是去申請一個虛擬地址一樣。

一樣取個名字,按下一步來完成,這邊可以看到,我把它歸至剛剛建立的 REPOxxx 資源群組。

接下來就可以選擇想建立的雲端服務開始動工啦!