建置用於旅館預約的聊天機器人

Bot Service
Language Understanding
Active Directory 外部身分識別
App Service
認知服務

此範例案例通常適用於想要將交談聊天機器人整合到應用程式的企業。 尤其,此案例顯示用於旅館的 C# 聊天機器人,讓客戶可以透過 Web 或行動裝置應用程式檢查空房狀況及預訂住宿。

架構

下列架構適用于設計旅館預約 Bot。

架構概觀:交談聊天機器人和交談聊天機器人所涉及的 Azure 元件

下載這個架構的 Visio 檔案

資料流程

此案例涵蓋可以作為旅館禮賓接待的交談聊天機器人。 整個案例的資料流程如下所示:

  1. 客戶使用行動裝置或 Web 應用程式存取聊天機器人。
  2. 使用 Azure Active Directory (Azure AD) B2C,即會驗證客戶。
  3. Bot Service互動,客戶會要求旅館可用性的相關資訊。
  4. 認知服務 會處理自然語言要求,以瞭解客戶通訊。
  5. 在客戶滿意結果之後,Bot 會在 SQL 資料庫中新增或更新保留或預約。
  6. Application Insights 會 收集整個程式的執行時間遙測,以協助 DevOps 小組改善 Bot 效能和使用方式。

單元

  • Azure AD 是多租使用者雲端式目錄和身分識別管理服務。 Azure AD 支援 B2C 連接器,可讓您透過使用者的外部識別碼 (例如 Google、Facebook 或 Microsoft 帳戶) 來識別使用者。
  • Azure App Service 可讓您以所選程式設計語言來建置及裝載 Web 應用程式,而無須管理基礎結構。
  • Azure Bot Service提供工具來建置、測試、部署和管理智慧型 Bot。
  • Azure 認知服務 可讓您使用智慧型演算法,透過自然通訊方法來查看、聆聽、說話、瞭解及解譯您的使用者需求。
  • Azure SQL Database是完全受控的關聯式雲端資料庫服務,可提供SQL Server引擎相容性。
  • Application Insights 是 Azure 監視器的一項功能,是可延伸的應用程式效能管理 (APM) 服務,可讓您監視應用程式的效能,例如聊天機器人。

替代方案

其他可用來增強此範例案例的元件包括:

  • 語音 API,用來變更客戶與聊天機器人的介面互動方式。
  • QnA Maker,用來從半結構化內容 (例如常見問題集) 將知識快速新增至您的聊天機器人。
  • 翻譯工具文字即服務,用來輕鬆地將多語言支援新增至您的聊天機器人。

實例詳細資料

潛在使用案例

除了旅館預約之外,此聊天機器人也可用於廣泛的商務設定。 例如,聊天機器人可讓客戶檢閱餐廳的外賣菜單並下單。 或者,聊天機器人可以讓攝影工作室的客戶搜尋及訂購照片。 傳統上,企業會雇用和訓練客戶服務代理,以回應這些類型的客戶要求。 如此一來,客戶就需等到代表有空,才能為其提供協助。

透過 Azure Bot ServiceLanguage Understanding語音服務,企業可以使用可調整的聊天機器人來處理常見的客戶要求。

考量

這些考慮會實作 Azure Well-Architected Framework 的要素,這是一組可用來改善工作負載品質的指引原則。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework

可用性

此案例會使用 Azure SQL Database 來儲存客戶預約。 SQL Database 包括區域備援資料庫、容錯移轉群組和異地複寫。 如需詳細資訊,請參閱 Azure SQL Database 可用性功能

延展性

此案例會使用 Azure App Service。 您可以使用 App Service,自動調整執行聊天機器人的執行個體數目。 這項功能可讓您的 Web 應用程式和聊天機器人掌握客戶需求。 如需自動調整規模的詳細資訊,請參閱 Azure 架構中心的自動調整規模最佳做法

如需其他可擴縮性主章,請參閱 Azure 架構中心中的效能效率檢查清單

安全性

安全性提供防止刻意攻擊和濫用重要資料和系統的保證。 如需詳細資訊,請參閱 安全性要素概觀

此案例會使用 Azure AD B2C 來驗證使用者,這是企業對取用者身分識別管理服務。 使用 AAD B2C,您的聊天機器人不會儲存任何敏感性客戶帳戶資訊或認證。 如需詳細資訊,請參閱 Azure AD B2C 概觀

儲存在 Azure SQL Database 中的資訊,會以透明資料加密 (TDE) 進行加密並待用。 SQL Database 也提供 Always Encrypted,這項功能會在查詢和處理期間將資料加密。 如需 SQL Database 安全性的詳細資訊,請參閱 Azure SQL Database 安全性與合規性

如需設計安全解決方案的一般指導,請參閱 Azure 安全性文件

災害復原

此案例會使用 Azure SQL Database 來儲存客戶預約。 SQL Database 包括區域備援資料庫、容錯移轉群組、異地複寫和自動備份。 這些功能可讓您的應用程式在發生維護事件或中斷時繼續執行。 如需詳細資訊,請參閱 Azure SQL Database 可用性功能

為了監視應用程式的健康情況,此案例使用 Application Insights。 使用 Application Insights,您可以產生警示,並且針對會影響客戶體驗和聊天機器人可用性的效能問題做回應。 如需詳細資訊,請參閱 Application Insights 是什麼?

如需其他復原文章,請參閱設計可靠的 Azure 應用程式

成本最佳化

成本最佳化是關於考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱成本最佳化要素的概觀

若要探索執行此案例的成本,請使用 Azure 定價計算機。 若要查看不同使用案例的定價變更,請變更服務變數以符合預期的流量。 例如,根據您預期聊天機器人處理的訊息數目,考慮 3 個成本設定檔:

  • 小型,每月處理 < 10,000 則訊息。
  • 中型,每月處理 < 500,000 則訊息。
  • 大型,每月處理 < 1 千萬則訊息。

部署此案例

您必須具有現有的 Azure 帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

此案例分為三個元件,可讓您更輕鬆地探索:

  • 基礎結構元件:使用 Azure Resource Manger 範本來部署 App Service、Web 應用程式、Application Insights、儲存體帳戶及 SQL Server 和資料庫的核心基礎結構元件。 使用下列步驟。

    1. 使用下方的連結以部署解決方案。

      將此解決方案部署至 Azure

    2. 等候範本部署在 Azure 入口網站中開啟,並遵循 UI 指示來建立部署。 指定:

      • 資源群組名稱,例如 myCommerceChatBotInfrastructure
      • 選取區域。
      • 為 SQL Server 系統管理員帳戶提供使用者名稱和安全的密碼。

      需要幾分鐘的時間才能完成部署。

  • Web 應用程式聊天機器人:若要搭配 Bot Service 使用 Azure CLI 來部署聊天機器人,請參閱部署您的聊天機器人。 將 Language Understanding 和智慧型服務 (LUIS) 新增至聊天機器人。

  • 範例 C# 聊天機器人應用程式:使用 Visual Studio 在 GitHub 上檢閱範例 C# 應用程式。 範例應用程式包含 Azure Active Directory 驗證元件,並且與認知服務的 Language Understanding and Intelligent Services (LUIS) 元件整合。 應用程式需要 Visual Studio 以便建置及部署案例。 關於設定 AAD B2C 和 LUIS 應用程式的額外資訊,可以在 GitHub 存放庫文件中找到。

下一步

產品文件:

Microsoft Learn 課程模組: