什麼是 Bot Framework SDK?

適用於: SDK v4

Microsoft Bot Framework 和 Azure AI Bot Service 是連結庫、工具和服務集合,可讓您建置、測試、部署及管理智慧型 Bot。 Bot Framework 包含模組化且可延伸的 SDK,可用來建置 Bot 並連線到 AI 服務。 透過此架構,開發人員可以建立使用語音、瞭解自然語言、回答問題等等的 Bot。

提示

如需建置 Bot 的 Microsoft 產品和服務清單、其支援者,以及每個 Bot 的簡短描述,請參閱 為您的使用案例選擇正確的聊天機器人解決方案。

何謂聊天機器人?

Bot 提供的體驗,感覺不像使用計算機,更像是處理人員或智慧型手機。 您可以使用 Bot 將簡單、重複性的工作,例如使用晚餐預訂或收集配置檔資訊,轉移到可能不再需要直接人為介入的自動化系統。 使用者使用文字、互動式卡片和語音與 Bot 交談。 Bot 互動可以是快速回答問題或相關對話,以智慧方式提供服務的存取權。

其中一種將 Bot 視為具有交談介面的 Web 應用程式。 您的使用者透過頻道連線到 Bot,例如 Facebook、Slack、Microsoft Teams 或自定義應用程式。

  • 視 Bot 的設定方式和向通道註冊的方式而定,互動可以位於文字或語音中,並可包含影像和視訊。
  • Bot 會處理使用者的輸入,以解譯使用者要求或說出的內容。
  • Bot 會評估輸入並執行相關工作,例如代表使用者要求使用者取得其他資訊或存取服務。
  • Bot 會回應使用者,讓他們知道 Bot 正在做什麼或已完成。

A remote bot interacts with a user on a device via text, speech, images, or video.

Bot 通常會實作為 Web 應用程式,裝載在 Azure 中,並使用 API 來傳送和接收訊息。 聊天機器人中的內容會根據 Bot 的類型及其用途而有所不同。 Bot 可以接收訊息,並將其回應給使用者,而涉及的程式代碼很少。 更複雜的 Bot 可以依賴各種工具和服務,在各種不同的平臺上提供更豐富的體驗。

Bot 可以執行其他類型的軟體可以執行的相同動作:讀取和寫入檔案、使用資料庫和 API,以及執行一般計算工作。 Bot 的獨特功能是其使用人類對人類通訊中所使用的機制。

Azure AI Bot Service 和 Bot Framework 包括:

  • 用於在 C#、JavaScript、Python 或 Java 中開發 Bot 的 Bot Framework SDK。 (Java SDK 已淘汰,最終長期支援將於 2023 年 11 月結束。
  • CLI 工具可協助進行端對端 Bot 開發。
  • Bot 連線 or Service,它會在 Bot 和通道之間轉送訊息和事件。
  • 適用於 Bot 管理和設定的 Azure 資源。

此外,Bot 可能會使用其他 Azure 服務,例如:

  • 用來建置智慧型手機應用程式的 Azure AI 服務
  • 雲端記憶體解決方案的 Azure 儲存體

如何建置 Bot

Azure AI Bot Service 和 Microsoft Bot Framework 提供一組整合的工具和服務,可協助您透過 Bot 生命週期的所有階段來設計和建置 Bot。 C#、Java、JavaScript、TypeScript 和 Python 都存在 SDK。 選擇您慣用的開發環境或命令行工具來建立 Bot。

Illustration of the steps in the bot life cycle.

計畫

如同任何類型的軟體,對目標、程式和使用者需求有徹底的瞭解,對於建立成功的 Bot 程式很重要。 您可以建立簡單的 Bot,或包含更複雜的功能,例如語音、自然語言理解和問答。

撰寫程序代碼之前,請先檢閱 Bot 設計指導方針 以取得最佳做法,並找出 Bot 的需求。

組建

一般而言,Bot 是裝載在 Azure 中的 Web 服務。 在 Azure 中,您可以將 Bot 設定為從各種通道傳送和接收訊息和事件。 您可以在任意數量的環境和語言中建立 Bot。 您可以 建立 Bot 以進行本機開發。

透過 Azure AI Bot 服務和 Bot Framework,您可以使用其他連結庫和服務來擴充 Bot 的功能。 下表描述 SDK 支援的一些功能。

功能 描述 詳細資訊
記憶體和記憶體 保存使用者和交談狀態 管理狀態
自然語言理解 從使用者輸入解譯和擷取資訊 語言理解
豐富卡片 合併文字和其他媒體,例如影像、音訊、視訊和按鈕 如何新增媒體和卡片

命令行工具可協助您建立、管理及測試 Bot 資產。 如需詳細資訊,請參閱 Azure CLIBot Framework Tools

如需完整的程式代碼範例,請參閱 Bot Framework 範例存放庫。 這些範例示範 SDK 的許多功能。

Test

Bot 是複雜的應用程式,有許多不同元件一起運作。 就像任何其他複雜的應用程式一樣,這可能會導致一些有趣的錯誤,或導致 Bot 的行為與預期不同。 發佈之前,請先測試 Bot。 我們會提供數種方式來測試 Bot,然後才發行以供使用:

  • 使用 Bot Framework 模擬器本機測試 Bot。 Bot Framework 模擬器是一個獨立應用程式,不僅提供聊天介面,還能提供偵錯和審訊工具,以協助瞭解 Bot 如何及為何執行其功能。 模擬器可以與開發中的 Bot 應用程式一起在本機執行。

  • 網路上測試 Bot。 透過 Azure 入口網站 您的 Bot 設定之後,也可以透過網路聊天介面來連線。 網路聊天介面是將 Bot 存取權授與測試人員,以及沒有 Bot 執行程式代碼直接存取權的其他人員的絕佳方式。

  • 使用目前的 Bot Framework SDK 進行 Bot 單元測試

發佈

當您準備好讓 Bot 可在 Web 上使用時, 請將 Bot 部署至 Azure 或部署至您自己的 Web 服務或資料中心。 在公用因特網上擁有位址是 Bot 在您的網站上或聊天頻道內上線的第一個步驟。

連線

連線 Bot 到頻道,例如 Facebook、Messenger、Slack、Microsoft Teams、Telegram 和 SMS,透過 Twilio。 Bot Framework 會執行從所有這些不同平臺傳送和接收訊息所需的大部分工作—您的 Bot 應用程式會接收統一、標準化的訊息數據流,而不論其連線的通道數目和類型為何。 如需新增通道的資訊,請參閱 通道 主題。

評估

使用 Azure 入口網站 中收集的數據,找出改善 Bot 功能和效能的機會。 您可以取得服務等級和檢測數據,例如流量、延遲和整合。 分析也提供使用者、訊息和頻道數據的交談層級報告。 如需詳細資訊,請參閱 如何收集分析

下一步