首页 > 其他分享 >LangChain vs Semantic Kernel

LangChain vs Semantic Kernel

时间:2023-04-20 23:33:06浏览次数:53  
标签:Kernel Semantic 开发人员 LangChain SK vs Copilot

每当向他人介绍 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
  • 如何在服务限制内和围绕服务配额和限制工作 - 更具体地说,围绕最大请求数/分钟
  • 以及更多...

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

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

 07dedcda3bc498235081a6c71a727c3

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

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

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

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

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

  • 它主要面向 C# 开发人员,它也支持 Python,(功能另请参阅功能奇偶校验文档)。
  • 因为它是为开发人员构建的,所以它被称为轻量级 SDK,可帮助开发人员将代码组织到内置于 Planner 中的技能、记忆和连接器中(在此处阅读更多内容)。
  • 示例代码中有很多业务流程协调程序 Web 服务的示例。
  • SK由一个以软件开发工程能力超强的组织(微软)创立。开源社区规模也相当活跃,目前已经有5.7k star。
  • 它是由微软创立的,文档方面做的也非常好,它有一个官方的支持页面LinkedIn学习课程
  • 由于 SK 在构建时考虑了应用,因此有一个 MS Graph连接器工具包,适用于需要与日历、电子邮件、OneDrive 等集成的方案。

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

标签:Kernel,Semantic,开发人员,LangChain,SK,vs,Copilot
From: https://www.cnblogs.com/shanyou/p/17338785.html

相关文章

  • VSCode,轻松提交文件到GitHub
    方法如下:在GitHub创建一个仓库来存放你的项目;2.在本地文件夹(可以是空文件夹,也可以是非空)内右键-GitBashHere进入命令行;3.输入如下命令,会看到一个名字为.git的隐藏文件,这说明该文件夹已经成为受控制的文件夹了;gitinit4.依次输入如下命令,将本地文件夹与远程仓库建立链接......
  • vscode 格式化统一配置 settings.json
    {"workbench.colorTheme":"DefaultDark+","eslint.autoFixOnSave":true,"editor.codeActionsOnSave":{"source.fixAll.eslint":true},"[javascript]":{ "......
  • VS Code的使用积累
    常见配置自动保存:"files.autoSave":"onFocusChange"参考链接:https://blog.csdn.net/WestLonly/article/details/78048049在新的窗口中打开文件:"workbench.editor.enablePreview":false,常见操作如何查看代码结构方法一:「Cmd+Shift+O」方法二:安装插件CodeOu......
  • 01-VS Code的使用
    title:01-VSCode的使用前言文章标题:《第一次使用VSCode时你应该知道的一切配置》。本文的最新内容,更新于2021-10-09。大家完全不用担心这篇文章会过时,因为随着VSCode的版本更新和插件更新,本文也会随之更新。本文的最新内容,也会在GitHub上同步更新,欢迎star。VS......
  • 低代码开发重要工具:jvs-logic(逻辑引擎)可视化设计要素
    逻辑引擎可视化的交互可视化的服务编排是逻辑引擎的核心功能,逻辑引擎的界面可视化设计是为了方便用户使用和操作逻辑引擎而设计的。一个好的界面设计能够提高用户的工作效率和使用体验,同时也能增加软件的可靠性和可维护性。以下是逻辑引擎界面可视化设计的一些要素:1.界面布局界面......
  • lvs+keepalived 实现负载均衡与高可用
    参考拓扑结构 1、在两台DirectorServer上安装lvs与keepalivedyum-yinstallkeepalivedipvsadm2、修改两台DirectorServer中/etc/keepalived/keepalived.conf配置文件 global_defs{notification_email{root@localhost#默认......
  • Vscode 卡顿、CPU 过高问题解决
    原则:非必要不要搞很多Vscode的插件,Vscode本身插件很强大,但是非必要不要使用很多插件。在VSCode扩展市场目前其实存在着不少下载量特别高但是不应该再被使用的扩展,显然官方是不可能直接给你标出来哪些扩展已经被废弃了,哪些有严重bug,纯靠扩展作者自觉。第一步:Ctrl+Shift+P:D......
  • 虚拟数字人外包团队:AI埃隆VS乔布斯作品惊艳四座!
    AI马斯克对谈AI乔布斯,辩论人工智能对人类的威胁两位智者谈论AI是否能具有直觉和情感,一场久违的架空对话人工智能会产生威胁吗?AI埃隆马斯克对话AI乔布斯本团队长年承接AI数字人开发外包,欢迎咨询沟通,也欢迎技术交流! ......
  • AI+SkeyeVSS视频融合平台建设安全环保智能数字化监管平台解决方案
    一、安全环保痛点问题安全管理手段落后,大小事故层出,管理成本居高不下;企业各级安全检查频繁,安全管理人员难以应付;不清楚安全隐患查什么、查哪里、怎么查;已有设备老旧、安全软件过时,数据传输性能低;安全教育培训不到位、安全生产执行力不强、环境监管能力有待提升;各个企业根据各自的需......
  • EMQX vs NanoMQ | 2023 MQTT Broker 对比
    引言EMQX和NanoMQ都是由全球领先的开源物联网数据基础设施软件供应商EMQ开发的开源MQTTBroker。EMQX是一个高度可扩展的大规模分布式MQTTBroker,能够将百万级的物联网设备连接到云端。NanoMQ则是专为物联网边缘场景设计的轻量级Broker。本文中我们将对EMQX和NanoMQ......