在首席執行官薩蒂亞·納德拉(Satya Nadella)的支持下,微軟似乎正在迅速轉變為一家以人工智慧為中心的公司。最近微軟的眾多產品線都採用GPT-4加持,從Microsoft 365等商業產品到“新必應”搜索引擎,再到低代碼/無代碼Power Platform等面向開發的產品,包括軟體開發組件P ...
在首席執行官薩蒂亞·納德拉(Satya Nadella)的支持下,微軟似乎正在迅速轉變為一家以人工智慧為中心的公司。最近微軟的眾多產品線都採用GPT-4加持,從Microsoft 365等商業產品到“新必應”搜索引擎,再到低代碼/無代碼Power Platform等面向開發的產品,包括軟體開發組件Power Apps[1]。
非常重要的一點是這些產品都是使用.NET 構建的, 這些項目可以快速的使用LLM 加持,我們寫程式的同學肯定都會想微軟是怎麼做的,正好微軟在3月17日在發佈了一篇博客文章: [Hello, Semantic Kernel!](https://devblogs.microsoft.com/semantic-kernel/hello-world/)[2], 在這篇文章中微軟已經開源了一個內部孵化項目,Github的倉庫:https://github.com/microsoft/semantic-kernel [3],該項目可以幫助開發人員快速輕鬆地將尖端的人工智慧模型集成到他們的應用程式中。這使您能夠在應用中構建新體驗,從而為用戶帶來無與倫比的工作效率:例如總結冗長的聊天交流,標記通過Microsoft Graph添加到待辦事項列表中的重要“下一步”,或者計劃一個完整的假期,而不僅僅是預訂飛機上的座位。
語義內核(簡稱SK)是一種創新的輕量級軟體開發工具包(SDK),旨在將人工智慧(AI)大型語言模型(LLM)與傳統編程語言集成。藉助 SK,開發人員可以輕鬆地為其應用程式註入複雜的技能,例如提示鏈接、摘要、遞歸推理、基於嵌入的記憶體等。SK 支持提示模板[4]、函數鏈、矢量化記憶體[5]和開箱即用的智能規劃[6]功能。
SK旨在支持和封裝來自最新 AI 研究的多種設計模式,以便開發人員可以為他們的應用程式註入複雜的技能[7],如提示[7]鏈接、遞歸推理、總結、zero/few-shot 學習、上下文記憶、長期記憶、嵌入[8]、語義索引、 規劃,以及訪問外部知識庫以及您自己的數據。
SK最初的目標是 C#開發人員,但也為數據科學家的最愛的 Python提供了預覽支持,而微軟也根據從社區反饋中學到的內容,正在考慮支持[9]其他語言,包括自己的TypeScript。
微軟將SK的主要優勢列為:
- 快速集成:SK旨在嵌入任何類型的應用程式中,使您可以輕鬆測試和運行LLM AI。
- 擴展:藉助 SK,您可以連接外部數據源和服務,使其應用程式能夠將自然語言處理與實時信息結合使用。
- 更好的提示:SK的模板化提示可讓您使用有用的抽象和機制快速設計語義函數,以釋放LLM AI的潛力。
- 新奇但熟悉:傳統編程語言代碼始終可供您作為一流的合作伙伴,幫助您快速完成工程設計,可以兩全其美。
為了幫助開發人員入門,微軟提供了一個免費的LinkedIn學習課程[10]。它的描述是:“人工智慧的未來終於來了,它改變了軟體開發人員的游戲規則。探索語義內核 (SK) 的可能性,這是 AI 驅動的開發的新面孔,封裝在輕量級、易於使用的多層軟體開發工具包中。使用SK快速啟動和運行,SK是Microsoft AI生態系統的最新成員,使開發人員能夠輕鬆地將LLM AI功能集成到他們的應用程式中。
除了LinkedIn學習課程之外,Microsoft 還解釋了開發人員如何克隆存儲庫並嘗試以下示例:
- 簡單的聊天摘要[11]:使用現成的技能,並輕鬆地將這些技能應用到你的應用中。
- 圖書創作者[12]:使用規劃師解構複雜的目標,併在應用中設想使用規劃師。
- 身份驗證和 API[13]:使用基本連接器模式進行身份驗證並連接到 API,並設想將外部數據集成到應用的 LLM AI 中。
- Github倉庫問答[14]:使用嵌入和記憶體來存儲最近的數據,並允許您對其進行查詢。
在運行示例和筆記本之前,您可能需要滿足一些軟體要求:
- Azure Functions 核心工具[15],用於將內核作為本地 API 運行,這是 Web 應用所需的。
- 需要OpenAI API[16] 密鑰或 Azure OpenAI 服務密鑰[17]才能開始使用。
- 用於安裝 Web 應用的依賴項的Yarn[18]。
- SK 支持 .NET Standard 2.1,建議使用 .NET 6+。但是,倉庫中的某些示例需要 .NET 7[19] 和 VS Code Polyglot 擴展[20]才能運行筆記本
SK 入門
下麵是如何從 C# 控制台應用使用語義內核的快速示例,這裡我們使用VS Code Polyglot 來做
相關鏈接:
- [1]Power Apps:https://powerapps.microsoft.com/zh-cn/
- [2] Hello, Semantic Kernel!: https://devblogs.microsoft.com/semantic-kernel/hello-world/
- [3] Github的倉庫:https://github.com/microsoft/semantic-kernel
- [4]提示模板: https://github.com/microsoft/semantic-kernel/blob/main/docs/PROMPT_TEMPLATE_LANGUAGE.md
- [5] 矢量化記憶體: https://github.com/microsoft/semantic-kernel/blob/main/docs/EMBEDDINGS.md
- [6] 智能規劃 https://github.com/microsoft/semantic-kernel/blob/main/docs/PLANNER.md
- [7] 技能: https://github.com/microsoft/semantic-kernel/blob/main/docs/SKILLS.md
- [8] 嵌入: https://github.com/microsoft/semantic-kernel/blob/main/docs/EMBEDDINGS.md
- [9] 支持其他語言: https://aka.ms/sk/python
- [10] LinkedIn學習課程 https://www.linkedin.com/learning/introducing-semantic-kernel-building-ai-based-apps/introducing-semantic-kernel
- [11] 簡單的聊天摘要 https://github.com/microsoft/semantic-kernel/blob/main/samples/apps/chat-summary-webapp-react/README.md
- [12] 圖書創作者 https://github.com/microsoft/semantic-kernel/blob/main/samples/apps/book-creator-webapp-react/README.md
- [13] 身份驗證和 API https://github.com/microsoft/semantic-kernel/blob/main/samples/apps/auth-api-webapp-react/README.md
- [14] Github倉庫問答 https://github.com/microsoft/semantic-kernel/blob/main/samples/apps/github-qna-webapp-react/README.md
- [15] Azure Functions 核心工具 https://learn.microsoft.com/azure/azure-functions/functions-run-local
- [16] OpenAI API https://openai.com/api/
- [17] Azure OpenAI 服務密鑰 https://learn.microsoft.com/azure/cognitive-services/openai/quickstart?pivots=rest-api
- [18] Yarn https://yarnpkg.com/getting-started/install
- [19] .NET 7 https://dotnet.microsoft.com/download
- [20] Polyglot 擴展 https://www.cnblogs.com/shanyou/p/17247652.html
歡迎大家掃描下麵二維碼成為我的客戶,扶你上雲