建立飯店預約的聊天機器人

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

此範例案例一般適用于想要將對話聊天機器人整合至應用程式的企業。 具體而言,此案例會顯示一個適用于旅館的 c # 聊天機器人,讓客戶可以透過 web 或行動應用程式來檢查可用性和預訂住宿。

除了旅館預訂之外,此聊天機器人可用於各種商務設定。 例如,聊天機器人可以讓客戶審核餐廳的取出功能表並下單。 或者,聊天機器人可以讓攝影工作室的客戶搜尋及訂購沖印。 傳統上,企業會雇用和定型客戶服務代理程式,以回應這些類型的客戶要求。 如此一來,客戶就會等到有代表可提供協助。

透過 Azure Bot ServiceLanguage Understanding語音 服務,企業可以使用可擴充的 bot 來處理常見的客戶要求。

飯店預約 bot 的架構

架構總覽:對話式聊天機器人和對話聊天機器人中牽涉到的 Azure 元件

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

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

單元

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

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

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

考量

可用性

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

延展性

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

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

安全性

此案例使用 Azure Active Directory (Azure AD) B2C (企業對消費者身分識別管理服務)來驗證使用者。 使用 Azure AD 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 帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

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

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

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

      將此解決方案部署至 Azure

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

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

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

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

  • c # 聊天機器人應用程式範例:使用 Visual Studio 在 GitHub 上檢查範例 c # 應用程式。 範例應用程式包含 Azure Active Directory 驗證元件,並且與認知服務的 Language Understanding and Intelligent Services (LUIS) 元件整合。 應用程式需要 Visual Studio 以便建置及部署案例。 如需有關設定 Azure AD B2C 和 LUIS 應用程式的其他資訊,請參閱 GitHub 存放庫檔。

定價

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

  • Small, < 每月處理10000訊息。
  • 中, < 每月處理500000訊息。
  • 大型, < 每月處理10000000訊息。

下一步

描述聊天機器人架構的 Azure 架構中心文章:

Azure Bot Service 產品檔:

Microsoft Learn 課程模組: