Semantic Kernel 將成為通向Assistants的門戶

2023-11-07 12:01:24

OpenAI 也推出了讓開發者更容易使用 OpenAI API 的開發方式——Assistants API。Sam Altman 表示,市面上基於 API 構建 agent 的體驗很棒。比如,Shopify 的 Sidekick 可以讓使用者在平臺上採取行動,Discord 的 Clyde 可以讓管理員幫忙建立自定義人物,Snap 的 My AI 是一個自定義聊天機器人,可以新增到群聊中並提出建議。但問題是,這些 agent 很難建立。有時需要幾個月的時間,由數十名工程師組成的團隊,處理很多事情才能使這種客製化助手體驗。這些事情包括狀態管理(state management)、提示和上下文管理(prompt and context management)、擴充套件功能(extend capabilities)和檢索(retrievel)。在 OpenAI 開發者大會上,這些事情被 API 化——OpenAI 推出 Assistants API,讓開發人員在他們的應用程式中構建「助手」。使用 Assistants API,OpenAI 客戶可以構建一個具有特定指令、利用外部知識並可以呼叫 OpenAI 生成式 AI 模型和工具來執行任務的「助手」。像這樣的案例範圍包含,從基於自然語言的資料分析應用程式到編碼助手,甚至是人工智慧驅動的假期規劃器。Assistants API 封裝的能力包括

  • 持久的執行緒(persistent threads),人們不必弄清楚如何處理長的對話歷史;

  • 內建的檢索(Retrieval),利用來自 OpenAI 模型外部的知識(例如公司員工提供的產品資訊或檔案)來增強開發人員建立的助手;提供新的 Stateful API 管理上下文;

  • 內建的程式碼直譯器(Code Interpreter),可在沙盒執行環境中編寫和執行 Python 程式碼。這一功能於 3 月份針對 ChatGPT 推出,可以生成圖形和圖表並處理檔案,讓使用 Assistants API 建立的助手迭代執行程式碼來解決程式碼和數學問題;

  • 改進的函數呼叫,使助手能夠呼叫開發人員定義的程式設計函數並將響應合併到他們的訊息中。

1699317479072

Assistants API 處於測試階段,從今天開始可供所有開發人員使用。開發者可以前往Assistants Playground來嘗試 Assistants API 測試版,而無需編寫任何程式碼。

有了 Assistants API,構建 agent 應用將變得更容易。OpenAI 表示,隨著時間的推移,將會持續提高它們的能力。並且,未來計劃允許客戶提供自己的 copilot 工具,以補充其平臺上的 Code Interpreter、檢索元件和函數呼叫。

Assistants API是在聊天完成模型之上建立代理的新方法和改進方法。有了助手,建立代理所需的大部分繁重工作都被剝離了......

  • 現在,將線上程中為您管理訊息。
  • 記憶體在後臺自動為您處理。
  • 並且可以呼叫多個函數(而不僅僅是一個函數)。

這最終意味著,在 OpenAI 和Semantic kernel 之上構建代理將更快、更容易。SK團隊正在部落格里推出系列文章與大家分享我們將Assistants 整合到Semantic kernel中的計劃,以及它們如何融入我們的 v1 提案中。今天釋出了第一篇文章: https://devblogs.microsoft.com/semantic-kernel/assistants-the-future-of-semantic-kernel/

儘管新的Assistants API 功能強大,但它們並不能做所有事情。這就是Semantic kernel的用武之地。憑藉其對外掛、規劃器和多模型支援的支援,您可以使用Semantic kernel來擴充套件助手,使其更強大,同時優化效能和成本。

  1. 簡化的函數呼叫 – 為了使代理更有用,您可以為它們提供要執行的操作。我們將通過外掛利用核心中已經註冊的現有函數來簡化此過程。當您與代理交談時,我們將為其提供您新增的函數,並在我們從模型獲得響應時自動執行它們。
  2. 複雜的多步驟計劃 – 使用Assistants,OpenAI 可以開始一次呼叫多個函數,但它仍然無法建立具有條件邏輯、迴圈和變數傳遞的複雜計劃。使用Semantic kernel 規劃器,您可以做到這一點。這不僅可以為您節省Token,還可以讓您生成完整的計劃,這些計劃在執行之前可以由人工審查。
  3. 多模型支援 – 今天的代理使用 GPT-3.5-turbo、GPT-4 和即將推出的 GPT-4-turbo 完成所有聊天。但是,作為開發人員,您可能希望更加挑剔。您可能希望使用 GPT-4-turbo 進行最終響應,同時使用 GPT-3.5-turbo 進行一些更簡單的Semantic Function。使用Semantic kernel,您可以進行這些優化。您甚至可以將非 OpenAI 模型與 OpenAI Assistants結合使用。
  4. 更好地控制記憶體 – 如果要使用高階記憶體體系結構來更好地控制儲存和檢索記憶體的方式(如核心記憶體Llama 索引),則可以將這些服務新增為外掛,以便為代理提供更好的上下文。
  5. 更高的可見性和監視 – 藉助Semantic kernel的前/後勾點,您可以輕鬆地將遙測資料新增到核心中,以便輕鬆瞭解所有本機和語意函數中的令牌使用情況、呈現的提示等。