使用 Semantic Kernel 實現 Microsoft 365 Copilot 架構

2023-05-02 15:00:26

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)組成.

image

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

image

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

image

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

image

已通過後處理步驟的處理結果和應用操作命令將返回到 Microsoft 365 中的呼叫應用。應用互動命令是用於處理新增圖片或調整 PowerPoint 文字大小等功能的內部命令。

image

2、使用Semantic Kernel實現

在Semantic Kernel的範例中,可以通過內建的 Microsoft Graph 聯結器在上下文中新增的: 聯結器是技能的一部分,您還可以使用Memory函數從Memory中的鍵值儲存和向量資料庫中檢索和新增記憶體和先驗知識。 當然,您可以自己自定義技能和聯結器。 還可以將其連線到 Azure 認知搜尋。

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

image

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

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

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

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

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

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

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

總結

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


相關連結:

[1] 微軟365 Copilot: https://www.microsoft.com/en-us/microsoft-365/blog/2023/03/16/introducing-microsoft-365-copilot-a-whole-new-way-to-work/

[2]Copilot 聊天範例程式: https://devblogs.microsoft.com/semantic-kernel/announcing-copilot-chat/

[3]Microsoft Graph: https://learn.microsoft.com/graph/overview