LangChain vs Semantic Kernel

这篇具有很好参考价值的文章主要介绍了LangChain vs Semantic Kernel。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

每当向他人介绍 Semantic Kernel, 会得到的第一个问题就是 Semantic Kernel 类似于LangChain吗,或者是c# 版本的LangChain吗? 为了全面而不想重复的回答这个问题,因此我写下这篇文章。

在 ChatGPT 之前,构建 集成AI的应用程序的主要分为两个步骤:

  1. 机器学习工程师/数据科学家创建模型,然后通过 REST API 终结点发布此模型。
  2. 应用程序开发人员通过传递确定性参数来调用 REST API 终结点。

有了GPT以后 构建与 AI 集成的应用程序过去要简单得多,应用程序员开发人员直接访问OpenAI的REST API,将它集成到我们的应用中,但是真正开始集成的时候才发现挑战不仅仅是调用API,例如:

  • 如何将OpenAI与内部知识搜索(内部文档,数据库,SharePoint等)集成
  • 如何将OpenAI与其他系统集成,如SAP,ERP,CRM,HR系统,IT票务系统等。
  • 如何有效地跟踪聊天对话历史记录
  • 如何以可配置的方式将提示实现到代码中(而不是使它们看起来像魔术字符串))
  • 如何最小化使用的Token
  • 如何在服务限制内和围绕服务配额和限制[1]工作 - 更具体地说,围绕最大请求数/分钟
  • 以及更多...

这中间需要有一个业务流程协调程序。该服务编排来自各种依赖项(OpenAI、Azure 搜索、数据库等)的输入和输出,并将其拼接在一起。

  • 这种模式可以从微软最近发布的Copilot服务中看出。请注意,GitHub Copilot、M365 Copilot、D365 Copilot 和Security Copilot的架构之间都有一个“Copilot Service”,用于将应用程序与LLM模型和其他服务链接起来。
  • 另请注意,微软在架构图中提到了的是“LLM”,而不是“GPT-4”。这是因为业务流程协调程序服务同时使用不同的 LLM 来实现其目的。

 LangChain vs Semantic Kernel

这就是像Semantic Kernel和LangChain这样的库的用武之地。这些库可帮助开发人员:

  • 管理对话历史记录,这是ChatCompletionAPI 希望开发人员弄清楚的。
  • 根据意图规划方法。
  • 为该方法实现“链接”
  • 管理Memory和服务连接要求(即对话历史记录、外部 API 等)

LangChain目前是“最成熟”(但相当新的)拥有大型开源社区的。第一次提交是在 2022 年10月。

  • 它支持Python和TypeScript,其中Python具有更多功能[2]。
  • 大多数在线文章都使用Jupyter笔记本 演示 LangChain,LangChai也不把自己被称为“SDK”,它是为习惯于使用笔记本的ML工程师构建的。
  • 应用程序开发人员需要弄清楚如何组织代码和使用 LangChain,软件工程方面的组织相对SK 显得差了很多。
  • LangChain由Harrison Chase[3]创立,他的职业是ML工程师,更多是从ML 工程师角度架构应用。
  • LangChain开源社区的贡献非常活跃,目前已经有29k star。
  • 采用MIT开源协议

Semantic Kernel(SK)是相对“较新的”,但它是为开发人员构建的。第一次提交是在 2023 年 2 月。

  • 它主要面向 C# 开发人员,它也支持 Python,(功能另请参阅功能奇偶校验文档[4])。
  • 因为它是为开发人员构建的,所以它被称为轻量级 SDK,可帮助开发人员将代码组织到内置于 Planner 中的技能、记忆和连接器中(在此处阅读更多内容)。
  • 示例代码中有很多业务流程协调程序 Web 服务的示例。
  • SK由一个以软件开发工程能力超强的组织(微软)创立。开源社区规模也相当活跃,目前已经有5.7k star。
  • 它是由微软创立的,文档方面做的也非常好,它有一个官方的支持页面[5]和LinkedIn学习课程[6]。
  • 由于 SK 在构建时考虑了应用,因此有一个 MS Graph连接器工具包[7],适用于需要与日历、电子邮件、OneDrive 等集成的方案。
  • 微软绝对是接入 OpenAI 最快也是最早的大型公司,他们发布的“Semantic Kernel” 是工程实践的结晶,同时发布了LLM创建软件的九项原则,称之为Schillace Laws of Semantic AI[8]https://learn.microsoft.com/zh-cn/semantic-kernel/howto/schillacelaws

这两个库我们选择使用哪一个,我觉得主要的考虑因素是开发人员的技能,LLM 已经将机器学习的门槛降低到普通开发人员就可以开发AI应用,SK 在帮助应用开发人员开发AI方面的帮助会比LangChain更大,我会选择采用SK来构建AI应用。

相关链接文章来源地址https://www.toymoban.com/news/detail-419781.html

  • [1] 服务配额和限制: https://learn.microsoft.com/zh-cn/azure/cognitive-services/openai/quotas-limits
  • [2] Langchain特性: https://langchain.com/features.html
  • [3] Harrison Chase: https://github.com/hwchase17
  • [4] SK功能奇偶校验文档: https://github.com/microsoft/semantic-kernel/blob/python-preview-archived-dont-delete/python/FEATURE_PARITY.md
  • [5] SK支持页面: http://aka.ms/sk/support
  • [6] SK LinkedIn学习课程: https://www.linkedin.com/learning/introducing-semantic-kernel-building-ai-based-apps
  • [7] MS Graph连接器工具包:https://learn.microsoft.com/en-us/semantic-kernel/concepts-sk/connectors#whats-the-ms-graph-connector-kit
  • [8] Schillace Laws of Semantic AI:https://learn.microsoft.com/zh-cn/semantic-kernel/howto/schillacelaws
  • [9] LangChain:Model as a Service粘合剂,被ChatGPT插件干掉了吗?: https://mp.weixin.qq.com/s/3coFhAdzr40tozn8f9Dc-w

到了这里,关于LangChain vs Semantic Kernel的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Semantic Kernel 入门系列:?Native Function

    语义的归语义,语法的归语法。 最基本的Native Function定义只需要在方法上添加 SKFunction 的特性即可。 默认情况下只需要传递一个string 参数就行,如果需要多个参数的话,和Semantic Function一样,也是使用Context,不过这里传进去是 SKContext 。在方法上使用 SKFunctionContextParameter 声

    2023年04月11日
    浏览(32)
  • Semantic Kernel 入门系列:? Planner 规划器

    Semantic Kernel 的一个核心能力就是实现“目标导向”的AI应用。 “目标导向”听起来是一个比较高大的词,但是却是实际生活中我们处理问题的基本方法和原则。 顾名思义,这种方法的核心就是先确定目标,然后再寻找实现目标的方法和步骤。这对于人来说的是很自然的事情

    2023年04月16日
    浏览(24)
  • Semantic Kernel 入门系列:?LLM的魔法

    ChatGPT 只是LLM 的小试牛刀,让人类能够看到的是机器智能对于语言系统的理解和掌握。 如果只是用来闲聊,而且只不过是将OpenAI的接口封装一下,那么市面上所有的ChatGPT的换皮应用都差不多。这就像是买了个徕卡镜头的手机,却只用来扫二维码一样。 由于微软的财大气粗,

    2023年04月09日
    浏览(22)
  • Semantic Kernel 入门系列:? Planner 计划管理

    Semantic Kernel 的一个核心能力就是实现“目标导向”的AI应用。 “目标导向”听起来是一个比较高大的词,但是却是实际生活中我们处理问题的基本方法和原则。 顾名思义,这种方法的核心就是先确定目标,然后再寻找实现目标的方法和步骤。这对于人来说的是很自然的事情

    2023年04月16日
    浏览(29)
  • Semantic Kernel 入门系列:?Connector连接器

    当我们使用Native Function的时候,除了处理一些基本的逻辑操作之外,更多的还是需要进行外部数据源和服务的对接,要么是获取相关的数据,要么是保存输出结果。这一过程在Semantic Kernel中可以被归类为Connector。 Connector更像是一种设计模式,并不像Function和Memory 一样有强制和

    2023年04月15日
    浏览(31)
  • Semantic Kernel 入门系列:?LLM降临的时代

    不论你是否关心,不可否认,AGI的时代即将到来了。 在这个突如其来的时代中,OpenAI的ChatGPT无疑处于浪潮之巅。而在ChatGPT背后,我们不能忽视的是LLM(Large Language Model)大型语言模型。 一夜之间所有的大厂商都在搞LLM,虽然很难有谁能和OpenAI相匹敌,但是随着AI领域的新摩

    2023年04月08日
    浏览(28)
  • 使用 Semantic Kernel 实现 Microsoft 365 Copilot 架构

    3月16日,微软发布了微软365 Copilot[1]。 Microsoft 365 Copilot 将您现有的 Word、Excel、PowerPoint、Outlook 和 Teams 与大型语言模型 (LLM) 的强大功能以及来自 Microsoft Graph 和 Microsoft 365 应用的数据相结合,以创建前所未有的体验。正如您在官方视频中看到的那样,Microsoft 365 Copilot的核心

    2024年02月02日
    浏览(28)
  • Semantic Kernel 入门系列:?突破提示词的限制

    LLM对自然语言的理解和掌握在知识内容的解读和总结方面提供了强大的能力。 但是由于训练数据本身来自于公共领域,也就注定了无法在一些小众或者私有的领域能够足够的好的应答。 因此如何给LLM 提供足够多的信息上下文,就是如今的LLM AI应用可以充分发挥能力的地方了

    2023年04月13日
    浏览(44)
  • 旁门左道:借助 HttpClientHandler 拦截请求,体验 Semantic Kernel 插件

    前天尝试通过 one-api + dashscope(阿里云灵积) + qwen(通义千问) 运行 Semantic Kernel 插件(Plugin) ,结果尝试失败,详见前天的博文。 今天换一种方式尝试,选择了一个旁门左道走走看,看能不能在不使用大模型的情况下让 Semantic Kernel 插件运行起来,这个旁门左道就是从 Stephen T

    2024年02月19日
    浏览(25)
  • 实现阿里云模型服务灵积 DashScope 的 Semantic Kernel Connector

    Semantic Kernel 内置的 IChatCompletionService 实现只支持 OpenAI 与 Azure OpenAI,而我却打算结合 DashScope(阿里云模型服务灵积) 学习 Semantic Kernel。 于是决定自己动手实现一个支持 DashScope 的 Semantic Kernel Connector —— DashScopeChatCompletionService,实现的过程也是学习 Semantic Kernel 源码的过程,

    2024年02月19日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包