暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Semantic Kernel 开启大语言模型应用框架之门|云布道师周记

Azure云科技 2024-01-31
522


云布道师‣ 周记

微软云布道师团队致力于向软件生态系统中的开发人员和其他人推广领先技术,进一步提高技术教育以及使用 Microsoft 云 + AI 平台的熟练程度。

微软高级云技术布道师卢建晖老师,将通过「云布道师 ‣ 周记」专栏,为您带来 AI +Data 领域新鲜的技术加餐。






2023 年,越来越多的人开始探索⼤型语⾔模型。有⼈通过布道普及了知识收获了关注、有⼈通过开发 API 抓住了商机、也有⼈借助各种 Copilot 改变了原有的⼯作⽅式。对于国内大厂而言,更是进⼊到“百模⼤战”。可以说没有发布过⼤语言模型的企业,就不算真正进⼊到大语言模型领域。然而,表面上去一派热热闹闹的景象,实则确很少有⼈提及应⽤。 

回看移动互联⽹时代,与在短时间迸发出⼤量的创新应⽤不同,2023 年推出的基于大语言模型的爆款应⽤却很少。可以说 2023 还是处于大语言模型的认识阶段,2024年才是打造大语言模型应用的元年。 



1

从 Copilot Stack 开始


早在 2023 年 5 ⽉的 Microsoft Build 大会上,微软 CTO Kevin Scott 就提出了 Copilot Stack 的概念,他指出:“‘智能副驾’对开发者提供创新支持。所有的应用都将被重构,而未来的应用也将以大家未曾意想到的方式被打造出来。”  


Model - 包括了各种的大语言模型。在基于业务形态下,我们不仅有 Azure OpenAI 服务或者 OpenAI,也可以拥有各种开源的在 Hugging Face 上的模型,亦或是企业内部的⾃建模型。这些模型结合不同的混合算⼒,构建出⼀个基于大语言模型应用支撑的基础。  

View – 指各种 Copilot 的应用的展现形态,如我们熟悉的 Chat, RAG 插件或者各种辅助⼯具。构建的形式可以是传统的⼯程项⽬,也可以是基于低代码⼯具,如 Copilot Studio 打造的 RAG 应⽤或插件。 

Controller – 提示词是开启⼤模型魔法最重要的关键,通过提示词可以承上启下的执行任务。如何有效地管理各种不同的提示词,是整个 Copilot Stack 的核⼼和重点。  



Copilot Stack 的⽅法论引导下,架构师或者传统开发者会思考以下几个问题:


  • 如何将 Copilot Stack 融⼊到传统⼯程项⽬中,而非新建一个应用?毕竟为原有的应⽤添加智慧才是关键 

  • 对于技术栈的兼容如何?国内互联⽹更多的是 Java 团队或是基于传统⼯业的 .NET 团队或是与物联⽹相关的 Python团队,是否都有好的框架⽀持? 

  • 对于企业提示词和传统代码结合是否有很好的⽀持? 

  • 是否可以对接不同的商业应⽤场景? 


2

Semantic Kernel 解决难题


现在市⾯上使⽤最多的就是 LangChain , 但基于上述⼏个问题都没有很好的解决,那么 Semantic Kernel 是如何做到的呢? 


Semantic Kernel 诞⽣于 2023 年 3 ⽉,⽀持多语⾔如 Java, .NET, Python 等,可以完整结合代码和提示词,通过连接器可以链接不同的商业应⽤场景。Semantic Kernel 基于 Copilot Stack ⽽⽣,天生具有很好的提示词组织管理能⼒,为企业级解决⽅案提供了更优的选择。2023 年年底,Semantic Kernel 的 .NET 版本正式发布了 1.0.1 版本(现在已经更新到 1.1.0),Java 和 Python 的版本也将陆续发布正式版,并且⽀持 RAG 应⽤中的向量,以及多模型⽀持。 

Semantic Kernel 最⼤特点是 Planner,可以很⽅便对前端指令进⾏任务步骤划分,每个步骤都基于不同业务的 Prompt(提示)- 在 Semantic Kernel 中称之为 Plugins(插件) 。你可以理解为 Semantic Kernel 是⼀个乐高积⽊的底座,⽽每个业务的 Prompt 就是⼀个⼩的组件,通过组件拼凑完成不同的任务。 



除了有 Planner 外, Semantic Kernel 也⽀持 AI Agent (智能体)等大语言模型应⽤中的新形态。可以说它是伴随着大语言模型⼀起成⻓的,也是 Copilot Stack 的最佳实践。如果您希望构建基于大语言模型的应用,欢迎尝试 Semantic Kernel。以下是相关资料的链接 :


Semantic Kernel Repo 

https://github.com/microsoft/semantic-kernel  

Semantic Kernel CookBook 

https://github.com/microsoft/SemanticKernelCookBook 



3

企业场景:Semantic Kernel

加持下的 RAG 应⽤


在大预言模型应⽤场景中,Copilot 应⽤是⾮常主流的。Semantic Kernel 具有结合企业级数据的能力,通过与结构化数据和非结构化数据结合,可以快速打造企业专属的 RAG 应用。 

对于非结构化数据,结合 Embedding (嵌入)可以更快速地完成 RAG 应用的开发。 


对于结构化数据,可以结合大语言模型的代码⽣成能⼒来完成应⽤开发。


这些案例都可以很好的验证 Semantic Kernel 能适应 AI 转型需求,可以快速整合到传统⼯程应⽤上,这对于企业是非常容易实现的。



4

Semantic Kernel 的未来


在众多框架加持下,基于大语言模型应⽤的构建会越来越⽅便。微软有很多团队基于大语言模型开发出了不少框架,例如:Prompt flow,Autogen,更有优化 LangChain 等。这些框架都是各司其职,并不是谁将把谁取代。 

那 Semantic Kernel 的未来在哪⾥?有⼈说,2024年大语言模型应⽤属于 AI Agent(智能体),那么我觉得 Semantic Kernel 就是当中的中间件,负责完成任务划分的⼯作。基于 AI Agent 的智能体框架,比如 Autogen,它更像⼀个前端,可以接收⽬标指令,然后将工作派到不同功能的智能体上。Semantic Kernel / LangChain 更像⼀个中间件去接管单个智能体的任务来完成任务拆解。之后每步任务可以⽤ Prompt flow(提示流)完成,最终通过监控能力实现大语言模型的稳定输出。 

下图是⼀个完整的多框架相结合的应⽤场景: 


2024 年,我们已经进⼊了大语言模型应⽤爆发的时代。这对于开发⼈员和开发团队都是振奋人心的。希望能有更多的开发⼈员借助 Semantic Kernel 实现向智能化应⽤转型。 

在此,为您推荐微软官方中文文档《Semantic Kernel 入门手册》。本手册主要介绍.NET和Python两个版本的Semantic Kernel,并结合Azure OpenAI Service给需要掌握大模型应用开发的各位进行指导。 

下载本手册,了解: 

  • 大型语言模型知识

  • 如何通过 SDK 访问Azure OpenAI Service 

  • Semantic Kernel 的基本知识及使用 




本文作者|卢建晖

微软高级云技术布道师 



文章转载自Azure云科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论