天天看點

使用 Semantic Kernel 實作 Microsoft 365 Copilot架構

作者:opendotnet

3月16日,微軟釋出了微軟365 Copilot[1]。Microsoft 365 Copilot 将您現有的 Word、Excel、PowerPoint、Outlook 和 Teams 與大型語言模型 (LLM) 的強大功能以及來自 Microsoft Graph 和 Microsoft 365 應用的資料相結合,以建立前所未有的體驗。

正如您在官方視訊中看到的那樣,Microsoft 365 Copilot的核心是一個名為Copilot System的編排器。今天Semantic Kernel 部落格上釋出了一篇文章介紹了Copilot 聊天示例程式[2]。我認為很容易從這個Copilot 聊天示例程式開始 實作這樣的一個架構。

1、Copilot 系統

讓我們先簡單介紹一下M365 Copilot系統的處理流程。該系統由Copilot系統,Microsoft 365 Apps,Microsoft Graph[3] 和LLM(GPT-4)組成.

使用 Semantic Kernel 實作 Microsoft 365 Copilot架構

Copilot 系統首先接收來自 Microsoft 365 Word、Excel、PowerPoint、Outlook、Teams 等的使用者提示。這些指令不會作為提示直接發送到 GPT-4,而是通過 Microsoft Graph 提供必要的上下文。這稱為接地,如果是電子郵件回複提示,例如,您的電子郵件帳戶資訊。

使用 Semantic Kernel 實作 Microsoft 365 Copilot架構

接地上下文提示通過Copilot系統發送到LLM。

使用 Semantic Kernel 實作 Microsoft 365 Copilot架構

Copilot 系統接收來自LLM的響應并執行後處理。此後處理包括對 Microsoft Graph 的其他調用、負責任的 AI 檢查、安全性、合規性和隐私審查,以及 Microsoft 365 應用互動的指令生成。

使用 Semantic Kernel 實作 Microsoft 365 Copilot架構

已認證後處理步驟的處理結果和應用操作指令将傳回到 Microsoft 365 中的調用應用。應用互動指令是用于處理添加圖檔或調整 PowerPoint 文本大小等功能的内部指令。

使用 Semantic Kernel 實作 Microsoft 365 Copilot架構

2、使用Semantic Kernel實作

在Semantic Kernel的接地示例中,通過内置的 Microsoft Graph 連接配接器在上下文中添加的:連接配接器是技能的一部分,您還可以使用Memory函數從Memory中的鍵值存儲和矢量資料庫中檢索和添加記憶體和先驗知識。當然,您可以自己自定義技能和連接配接器。還可以将其連接配接到 Azure 認知搜尋。

對于 Microsoft 365 應用(如商務聊天)和跨使用者資料(月曆、電子郵件、聊天、文檔、會議和聯系人)工作的應用),後端需要一個規劃器來确定使用者的問題意向,将其分解為任務,并将其與操作相關聯。語義核心包括一個計劃器,用于将使用者的複雜指令分解為任務。使用規劃器将公司系統的每個功能映射到您的技能。

使用 Semantic Kernel 實作 Microsoft 365 Copilot架構

Copilot Chat建立在微軟的Semantic Kernel 之上,允許開發人員輕松地将大型語言模型(LLM)的強大功能內建到自己的應用程式中。通過我們的完整示例,你可以利用進階功能,例如多個對話主題、語音識别、檔案上傳,通過你自己的最新資訊使聊天更智能,持久記憶體存儲允許機器人在每次使用時變得越來越智能,甚至可以下載下傳機器人與他人共享,加入他們的對話。

無論您是在建構客戶服務工具、個性化推薦系統、人力資源助理、教育工具還是電子商務助手,我們的 Copilot Chat 都可以提供幫助。我們認為,從示例應用下載下傳和生成會有很多好處。

改善使用者體驗:通過提供個性化幫助和自然語言處理,您自己的聊天機器人可以改善客戶、學生和員工的使用者體驗。使用者可以快速輕松地獲得所需的資訊,而無需浏覽複雜的網站或等待客戶服務代表的幫助。

提高效率:通過處理客戶服務或人力資源任務的聊天機器人,您可以讓員工專注于需要人工幹預的更複雜的任務。這可以提高組織的效率并降低成本。

個性化推薦:通過自然語言處理和持久記憶體存儲,您的聊天機器人可以為産品、服務或教育資源提供個性化推薦。這可以提高客戶滿意度并推動銷售。

改進的可通路性:通過語音識别和檔案上傳,您的聊天機器人可以為使用者提供更準确和個性化的幫助。例如,難以浏覽網站的患者可以更輕松地使用聊天,并快速有效地接收所需的資訊。

可擴充性:通過處理客戶服務或教育任務的聊天機器人,您可以輕松擴充以滿足不斷增長的需求,而無需雇用更多員工。這可以降低成本并增加收入。

總結

Semantic Kernel 支援快速開發用于編排企業中各種系統的Copilot 核心。要使用的模型是 Azure OpenAI 服務,它具有豐富的企業安全性,我們可以從Copilot Chat示例程式開始。

繼續閱讀