探索問題解答

注意 若要完成此實驗室,您需要一個具備系統管理存取權的 Azure 訂用帳戶。

針對客戶支援案例,通常會建立可透過網站聊天視窗、電子郵件或語音介面解譯和回答常見問題集的 Bot。 Bot 介面的基礎是 Bot 可搜尋適當回應的問題和適當答案的知識庫。

建立自訂問題解答知識庫

語言服務的自訂問題解答功能可讓您透過輸入問答組,或從現有文件或網頁快速建立知識庫。 然後,它可以使用一些內建的自然語言處理功能來解譯問題並尋找適當的答案。

  1. 開啟位於 https://portal.azure.com 的 Azure 入口網站,並使用您的 Microsoft 帳戶登入。

  2. 按一下 [+建立資源]** 按鈕,搜尋「語言服務」,使用下列設定建立語言服務資源,然後按一下 [繼續建立您的資源]**:選取其他功能**
    • 預設功能:保留預設功能**。
    • 自訂功能:選取自訂問題解答**。

    建立已啟用自訂問題解答的語言服務資源。

  3. 在 [建立語言]** 頁面上,指定下列設定:
    • 訂用帳戶您的 Azure 訂用帳戶
    • 資源群組選取現有資源群組或建立新的資源群組
    • 名稱:語言資源的唯一名稱**。
    • 定價層:S (每分鐘 1K 次呼叫)
    • Azure 搜尋服務位置:任何可用的位置**。
    • Azure 搜尋服務定價層:免費 F (3 個索引) - (如果無法使用此層,請選取 [標準 S (50 個索引)]**)
    • 核取此方塊表示我確認已檢閱並認同「負責任 AI 注意事項」中的條款。:選取**。

    注意 如果您已布建免費層 Azure 認知搜尋 資源,您的配額可能無法建立另一個資源。 在此情況下,請選取 [免費 F]** 以外的層。

  4. 按一下 [檢閱 + 建立]**,然後按一下 [建立]**。 等候語言服務的部署,其將支援您的自訂問題解答知識庫。

  5. 在新的瀏覽器索引標籤中,開啟位於 https://language.azure.com 的 Language Studio 入口網站,然後使用與您的 Azure 訂用帳戶相關聯的 Microsoft 帳戶登入。

  6. 若系統提示您選擇語言資源,請選取下列設定:
    • Azure 目錄:包含您訂用帳戶的 Azure 目錄。
    • Azure 訂用帳戶:您的 Azure 訂用帳戶。
    • 語言資源:您先前建立的語言資源。
  7. 如果您收到選擇語言資源的提示,可能是因為您的訂用帳戶中有多個語言資源;在此情況下:
    1. 在分頁頂端的列上,按一下 [設定 (⚙)] ** 按鈕。
    2. 在 [設定]** 分頁上,檢視 [資源]** 索引標籤。
    3. 選取您剛才建立的語言資源,然後按一下 [切換資源]**
    4. 在頁面頂端,按一下 [Language Studio]** 以回到 Language Studio 首頁。
  8. 在 Language Studio 入口網站頂端的 [新建]** 功能表中,選取 [自訂問題解答]**。

  9. 在 [選擇資源 your resource 的語言設定]** 頁面上,選取 [當我在此資源中建立專案時,我想選取語言],然後按 [下一步]**。

  10. 在 [輸入基本資訊]** 頁面上,輸入下列詳細資料,然後按 [下一步]**:
    • 語言資源選擇您的語言資源
    • Azure 搜尋服務資源選擇您的 Azure 搜尋資源
    • 名稱:MargiesTravel
    • 描述:簡單的知識庫
    • 來源語言:英文
    • 未傳回任何答案時的預設答案:找不到答案
  11. 在 [檢閱和完成]** 頁面上,按一下 [建立專案]**。

  12. 系統將帶您前往 [管理來源]** 頁面。 按一下 [+新增來源],然後選取 [URL]**。

  13. 在 [新增 URL]** 方塊中,按一下 [+ 新增 URL]。 輸入下列資料,然後選取 [全部新增]**:
    • URL 名稱:MargiesKB
    • URLhttps://raw.githubusercontent.com/MicrosoftLearning/AI-900-AIFundamentals/main/data/qna/margies_faq.docx
    • 分類檔案結構:自動偵測**

編輯知識庫

您的知識庫是以常見問題集文件和一些預先定義的回應為基礎。 您可以新增自訂的問答配對來補充這些配對內容。

  1. 按一下左側面板上的 [編輯知識庫]**。 然後按一下 [+ 新增問題組]**。

  2. 在 [問題]** 方塊中,輸入 Hello,然後按一下 [提交變更]**。

  3. 按一下 [+ 新增替代片語]**,輸入 Hi,然後按一下 [提交變更]**。

  4. 在 [答案和提示]** 方塊中,輸入 Hello。 保留來源**:編輯。

  5. 按一下 [提交] 。 然後在頁面頂端按一下 [儲存變更]**。 您可能需要變更視窗的大小,才看得到該按鈕。

定型和測試知識庫

現在您已擁有知識庫,您可以進行測試。

  1. 在頁面頂端,按一下 [測試]** 以測試您的知識庫。

  2. 在測試窗格底部輸入訊息 Hi。 應該傳回回應 Hello

  3. 在測試窗格底部輸入訊息我想要預訂航班。 應該會從常見問題集中傳回適當的回應。

    注意 回應包含「簡短答案」** 以及更詳細的「答案段落」- 答案段落顯示常見問題集文件中最相符問題的全文,而簡短答案是從段落中巧妙擷取。 您可以使用測試窗格頂端的 [顯示簡短答案]** 核取方塊,來控制簡短答案是否來自該回應。

  4. 嘗試其他問題,例如如何取消預訂

  5. 完成知識庫測試之後,按一下 [測試]** 來關閉測試窗格。

為知識庫建立 Bot

知識庫提供用戶端應用程式可用來透過某種使用者介面回答問題的後端服務。 通常,這些用戶端應用程式是 Bot。 若要讓知識庫可供 Bot 使用,您必須將其發佈為可透過 HTTP 存取的服務。 然後,您可以使用 Azure Bot Service 來建立和裝載使用知識庫來回答使用者問題的 Bot。

  1. 在 Language Studio 頁面左側,按一下 [部署知識庫]**

  2. 按一下頁面頂端的 [部署]**。 對話框會詢問您是否要部署專案。 選取部署**。

  3. 部署服務之後,按一下 [建立 Bot]**。 這將在新的瀏覽器索引標籤中開啟 Azure 入口網站,以便您可以在 Azure 訂用帳戶中建立 Web 應用程式 Bot。

  4. 在 Azure 入口網站 中,建立 Web 應用程式 Bot。 (您可能會看到警告訊息來檢查範本的來源是否值得信任。 您不需要針對該訊息採取任何動作。更新下列設定以繼續:

    • 專案詳細資料
      • 訂用帳戶:您的 Azure 訂用帳戶**
      • 資源群組包含您語言資源的資源群組
    • [執行個體詳細資料]**
      • 資源群組位置與您的語言服務相同的位置。
    • Azure Bot
      • Bot 句柄Bot 的唯一名稱(預先填入
    • 選擇您的定價層
      • 定價層:免費 (F0) (您可能需要選取 [變更方案]
    • Microsoft 應用程式識別碼
      • 建立類型選取 [建立新的使用者指派的受控識別]
  5. 選取 [下一步:Web 應用程式> 以繼續更新設定。
    • 應用程式服務
      • 應用程式名稱與自動附加 .azurewebsites.netBot 控制碼相同
      • SDK 語言選擇 C# 或 Node.js
    • App Service 方案
      • 建立類型選取 [建立新的 App Service 方案]
    • 應用程式設定
      • 語言資源金鑰您必須複製語言資源金鑰並貼到這裡。

      注意 若要瀏覽至您的語言資源金鑰,請開啟 https://portal.azure.com 。 在首頁上,按兩下 [資源群組 ],然後找出您建立語言資源的資源群組。 選取您的語言資源,然後流覽至其左側功能表。 然後選取 [金鑰] 和 [ 端點]。 複製其中一個金鑰。

      • 語言專案名稱:MargiesTravel
      • 語言服務端點主機名預先填入您的語言服務端點
    • 語言服務詳細數據
      • 訂用帳戶標識碼預先填入您的訂用帳戶標識碼
      • 資源組名預先填入您的資源組名
      • 帳戶名稱預先填入您的資源名稱
  6. 選取 [檢閱 + 建立] 。

  7. 等候 Bot 建立 (通知圖示在右上方,其看起來像鈴鐺,在您等候時會有動畫效果)。 然後在部署完成的通知中,按一下 [移至資源]** (或者在首頁上按一下 [資源群組]**,開啟您建立 Web 應用程式 Bot 的資源群組,然後按一下它。)

  8. 在 Bot 的左側窗格中尋找 [設定]**,按一下 [在網路聊天中測試],然後等候 Bot 顯示您好,歡迎!** 訊息 (可能需要幾秒鐘來初始化)。

  9. 使用測試聊天介面,確保您的 Bot 如預期從您的知識庫回答問題。 例如,嘗試提交我需要取消旅館

使用 Bot 來試驗。 您可能會發現它可以非常準確地回答常見問題集的問題,但無法解譯尚未定型的問題。 您一律可以使用 Language Studio 來編輯知識庫以改善它,並重新發佈它。

深入了解