Azure Bot Service 如何運作
在此單元中,您將探索如何使用 Bot Framework Composer 來協助您在互動式的視覺化設計工具中設計聊天機器人。 您將了解如何在 Bot Framework Composer 中使用 AI 和語言功能擴充聊天機器人。 您也可以大略了解如何建立聊天機器人、擴充聊天機器人功能,以及在 Azure Bot Service 中發佈聊天機器人。
聊天機器人套件的架構為何?
Azure Bot Service 和 Bot Framework 支援完整的聊天機器人建立程序。 支援的程序包括設計、建置、測試和發佈工作。
聊天機器人開發人員會使用 Bot Framework Composer 來建立「聊天機器人套件」。此套件包含聊天機器人的邏輯,以及聊天機器人整合和連線的詳細資料,包括輸入通道和驗證。 聊天機器人套件也包含任何自訂的聊天機器人程式碼。 Azure Bot Service 會裝載聊天機器人套件。 Azure Bot 可視為是有一些額外功能的 Azure Web 應用程式,可提供主要端點讓聊天機器人互動。 透過 Bot Service,使用者可以與聊天機器人互動。 同時,其也可以管理外部通道和其他整合的連入和連出 REST 互動。
注意
您也可以透過 Visual Studio 或 Visual Studio Code,使用 Bot Framework SDK 來提供聊天機器人套件。
考慮您要建立的聊天機器人類型
在建置聊天機器人之前,必須先決定要建立哪種類型的聊天機器人。 在決定的當下,請考慮下列問題:
您聊天機器人的用途為何? 確定您想要建置的聊天機器人類型。 進行規劃會有助於定義您想要實作的功能。
您的聊天機器人是為了解決哪些問題? 請清楚描述此答案。 在建置聊天機器人時,考慮的重點是解決客戶的問題。 您也應該考慮一些事情,像是如何用比替代體驗更好、更簡單或更快的方式解決使用者的問題。
誰會使用您的聊天機器人? 如果您要設計聊天機器人,那麼假設應該是使用者會使用它是比較可靠的做法。 不同的客戶會預期不同的使用者體驗。 知道您的受眾將有助於判斷應該將聊天機器人設計到多麼複雜。 請考慮要為聊天機器人實作哪些語言。
提示
確保絕佳的使用者體驗,應該是您在設計聊天機器人時的第一要務。
您的聊天機器人會在哪裡使用? 您必須決定用來執行聊天機器人的平台。 例如,設計為在行動裝置上執行的聊天機器人可能需要像是傳送訊息服務 (SMS) 訊息的功能。
重要
發佈體驗會因平台而異。
在 Bot Framework Composer 中開發聊天機器人的核心功能
您可以使用 Composer 來設計、建置、擴充及測試聊天機器人。 Composer 是用來建置聊天機器人的視覺化編輯畫布。 這通常是 Azure Bot Service 建立程序的起點。
您可以使用 Composer 的視覺化設計工具,以直覺的方式開發聊天機器人的核心功能。 其可讓您:
- 使用 QnA Maker 將自然語言理解功能新增至您的聊天機器人。 您可以使用 Language Understanding Intelligence Service (LUIS)、QnA 或常見問題等功能。
- 使用語言產生範本,為您的聊天機器人建立文字和語音變化回應。
- 以多種語言建置聊天機器人。
- 使用內嵌網路聊天直接在 Composer 內測試聊天機器人。
- 將聊天機器人發佈至 Azure App Service 和 Azure Functions。
- 整合外部服務,例如 LUIS 應用程式和 QnA Maker 知識庫。
建立對話方塊和對話流程
對話方塊會控制聊天機器人與使用者之間的對話。 對話方塊包含語言產生回應範本,這些範本會定義聊天機器人回應,以及聊天機器人如何執行工作的指示。 例如,在餐廳預訂晚餐或建立 Outlook 行事歷項目。
許多對話方塊是線性的,問題和回應順序很簡單。 但是,某些對話方塊也會包含進階的對話邏輯。 此邏輯可能包括分支、迴圈及內容型的動態和自適性對話方塊。 這些類型的對話方塊一般會使用外部資料、維護具狀態的對話資料,以及在對話中進行必要的中斷。
包含具有技能和其他聊天機器人的外部流程
您可以藉由將 Composer 技能、NuGet 套件,甚至是其他 Azure Bot Service 的聊天機器人匯入您的聊天機器人,來建立更複雜的對話流程。 您可以建立一系列的巢狀聊天機器人,以建立更具模組化和可重複使用的聊天機器人功能組合。 您可以將這些較小的模組化元件結合成多個組合,來為不同的父代聊天機器人提供一組功能。 例如,您可以有一個聊天機器人來處理有關管理行事曆項目的對話流程,並附有「我的下一場會議是什麼時候?」或「您需要會議室嗎?」之類的輸入和回應。藉由將聊天機器人封裝為技能,您可以輕鬆地將技能 (以及相關聯的行事曆對話處理功能) 整合到您所建立的任何其他聊天機器人中。
使用卡片、影像和按鈕來增強對話
您可以使用數個視覺化和互動式的方法來增強聊天機器人使用者的對話。 使用卡片來建立豐富的文字、影像和按鈕式內容,以提供比純文字更好的互動體驗。 Composer 提供數種卡片類型,包括縮圖、登入、音訊和影片。
使用 LUIS 和 QnA Maker 來擴充語言理解與智慧
LUIS 使用完整的意圖和實體管理系統來提供自然語言處理。 您可以整合先前建立的 LUIS 應用程式,或在 Composer 內建立新的應用程式,以將健全的自然語言理解功能新增至您的聊天機器人。
QnA Maker 是雲端式服務。 您可以使用它從現有的常見問題集樣式文件和網站,擷取問題和答案組合。 然後,您可以將該資訊匯入知識庫中,讓知識專家可以手動設計。 您可以將聊天機器人與 QnA 知識庫整合。 這種整合可讓您針對任何指定的自然語言輸入,找出最適當的答案。
使用網路聊天來測試您的聊天機器人
您可以直接在 Composer 中使用網路聊天來測試聊天機器人的功能。 網路聊天會在本機聊天機器人的執行階段執行您的聊天機器人,這表示您可以在開發電腦本機上測試您的聊天機器人,而不需要將其發佈至 Azure。 網路聊天具有完整的偵錯、文字記錄錄製,以及聊天機器人狀態檢查功能,可用於測試聊天機器人功能的所有層面。
使用 Bot Framework SDK 新增中介軟體並擴充聊天機器人功能
若要編輯聊天機器人的原始程式碼並擴充聊天機器人的功能,您可以使用 Visual Studio、Visual Studio Code 或您選擇的受支援 IDE 以及 Bot Framework SDK。 將聊天機器人封裝和發佈為 NuGet 套件。 將這些套件匯入 Composer 以利整合。 您可以在整個聊天機器人開發生命週期內,於 Composer 與 Bot Framework SDK 之間順暢地移動。 這個移動能力可確保您永遠能使用最有效的工具進行任何開發工作。
將您的 Bot 發佈到 Azure
Azure Bot Service 會在 Azure 中裝載聊天機器人功能。 請直接從 Composer 介面發佈聊天機器人,以在 Composer 內建立端對端的開發體驗。
Azure Bot Service 會在 Azure Web 應用程式資源中裝載聊天機器人。 此資源包含用來連線到外部資源的程式碼、邏輯和基本 HTTP REST 端點。 Azure Bot Service 也會提供現成的 Bot Service 通道。 Bot Service 通道會提供調適層,以調適聊天機器人與其他聊天服務通訊協定的互動,例如 Facebook、Slack、Teams、電話語音等等。
當您從 Composer 發佈時,發佈程序也可以建立或匯入相依的 Azure 資源。 這些資源包括 LUIS、QnA Maker、Azure Cosmos DB、Application Insights 和 Blob 儲存體。