文章《Semantic Kernel -- LangChain 的替代品?》的错误和疑问 探讨

文章,semantic,kernel,langchain,替代品,错误,疑问,探讨 · 浏览次数 : 13

小编点评

**Semantic Kernel 是一个用于构建大型语言模型 (LLM) 的开源编程框架。** Semantic Kernel 支持 OpenAI、Azure OpenAI 和 HuggingFace 上的模型,而 LangChain 支持的模型要多得多。 由于 Semantic Kernel 是用 C# 开发的,所以它对 C# 比较支持。 **与 LangChain 的区别:** * **开发语言:**Semantic Kernel 使用 C#,而 LangChain 使用 Python 和 JavaScript。 * **模型支持:**Semantic Kernel 支持 OpenAI 和 Azure OpenAI 模型,而 LangChain 支持的模型要多得多。 * **架构:**Semantic Kernel 的架构更加复杂,提供更灵活的功能。 * **插件开发:**Semantic Kernel 允许开发人员自定义插件,而 LangChain 没有这种功能。 * **文档和代码示例:**Semantic Kernel 的文档和代码示例更清晰,易于理解。 **结论:** Semantic Kernel 是一个强大的编程框架,可以用于构建各种大型语言模型。虽然它使用 C# 开发,但它的架构和功能使其易于与其他语言的框架相比。

正文

微信公众号文章 Semantic Kernel —— LangChain 的替代品?[1] ,它使用的示例代码是Python ,他却发了这么一个疑问:

支持的语言对比(因为 Semantic Kernel 是用 C#开发的,所以它对 C#比较支持)如上所示。不清楚 Semantic Kernel 为什么要用 C#来开发,C#相比 Python 和 JavaScript 来说使用的人会少很多。

Semantic Kernel是微软在实践GPT 改造现有产品的过程中经验的总结,微软的产品: Bing.com , Office 365 等都是使用C# 开发的, Semantic Kernel 采用C#来开发就很自然了,大量的商业系统是使用C#、Java这样的强类型语言构建的,采用Python这样的弱类型语言构建商业系统并不多。随着ChatGPT的火爆,Prompt-tuning已经成为当前大语言模型(Large Lanugage Model,LLM)时代最流行的生产技术,使得很多人一夜之间似乎有了编程的能力。微软在这个背景下推出的一个结合LLM与传统编程技术的开源的编程框架Semantic Kernel更加切合应用开发的需求。SK 大约 是在 2023 年 3 月下旬开源,大约开源6个多月,比 LangChain 晚开源了4个月 ,其实SK 在微软内部的开发时间上要比Langchain 早的多,这也正是SK 的优良的架构和代码质量,同时制定了更为合理的插件开发规范,马上就要发布1.0 版本了。

文章在大模型支持的描述也是错误的:

Semantic Kernel 只支持 OpenAI,Azure OpenAI,HuggingFace 上的模型,而 LangChain 支持的模型要多得多。

Semantic kernel 不仅支持OpenAI, Azure OpenAI,HuggingFace上的模型, 它可以支持任何LLM, 社区已经做了很多的支持库,例如llama2、文心一言、通一千问等不集成到SK仓库,社区各自维护,具体可看我整理的Semantic kernel资源:https://github.com/geffzhang/awesome-semantickernel[2]:

Semantic kernel 鼓励对大模型的支持作为单独插件独立维护,增强SK 模块化和 可维护性: https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#adding-plugins-and-memory-connectors[3]。

文章在对比Planner 和 Langchain Agent 时候的描述也是对Semantic Kernel有所微词:

目前 Semantic Kernel 就只有几种 Planner,对比 LangChain 还是比较少的,但一般的应用场景也足够用了。

Semantic kernel 还有一个基于 YAML 的 DSL 定义和执行复杂工作流的流业务流程协调程序扩展,提供灵活性,支持通用技能,包括语义函数、原生函数和需要聊天交互的技能,以更易于使用的方式进行交互。


Semantic Kernel 代表了微软在 AI 应用开发领域的探索,其功能和 LangChain 有所相似,但Semantic Kernel 是为应用开发开发人员创建的。Semantic Kernel 使构建企业AI编排器变得容易,这是Copilot Stack的中心[4]。Semantic Kernel的清晰文档和代码示例让应用程序开发人员容易理解,很容易就可以将Semantic Kernel 集成到应用程序中。

Semantic Kernel 还支持 ML 工程师和数据科学家喜爱的功能。


相关链接:

与文章《Semantic Kernel -- LangChain 的替代品?》的错误和疑问 探讨相似的内容:

文章《Semantic Kernel -- LangChain 的替代品?》的错误和疑问 探讨

微信公众号文章 Semantic Kernel —— LangChain 的替代品?[1] ,它使用的示例代码是Python ,他却发了这么一个疑问:支持的语言对比(因为 Semantic Kernel 是用 C#开发的,所以它对 C#比较支持)如上所示。不清楚 Semantic Kernel 为什

使用SemanticKernel 进行智能应用开发(2023-10更新)

以OpenAI 的ChatGPT 所掀起的GenAI 快速创新浪潮,其中连接LLM 和 应用之间的桥梁的两大开源项目:LangChain[1]和Semantic Kernel[2] ,在半年前写过一篇文章 LangChain vs Semantic Kernel [3],这半年以来Semantic

.NET周报 【4月第3期 2023-04-15】

国内文章 Semantic Kernel 入门系列:📅 Planner 规划器 https://www.cnblogs.com/xbotter/p/semantic_kernel_introduction_planner.html 本文介绍了Semantic Kernel的一个核心能力,即实现目标

探索 SK 示例 -- GitHub 存储库中的机器人

微软 3月22日 一篇文章“Semantic-kernel 嵌入和记忆:使用聊天UI探索GitHub Repos”[1] ,文章中进行了展示了嵌入,该文章解释了他们如何帮助开发人员提出有关GitHub存储库的问题或使用自然语言查询探索GitHub存储库。与嵌入一起,这是在SK存储器[2](嵌入集合)

.NET周报 【4月第1期 2023-04-02】

国内文章 探索 SK 示例 -- GitHub 存储库中的机器人 https://www.cnblogs.com/shanyou/p/17280627.html 微软 3月22日 一篇文章“Semantic-kernel 嵌入和记忆:使用聊天UI探索GitHub Repos”[1] ,文章中进行了展

Schillace 定律 背后的 Sam Schillace

微软semantic-kernel(SK)团队发布了一篇博客文章:Early Lessons From GPT-4: The Schillace Laws[1] ,微软的CVP , Deputy CTO Sam Schillace 根据他在GPT-4方面的经验制定了使用LLM创建软件的九项原则,称之

Copilot Chat示例应用程序

微软在Semantic Kernel博客上发布了文章:https://devblogs.microsoft.com/semantic-kernel/announcing-copilot-chat/。 Copilot Chat示例应用程序展示了开发人员如何将AI和LLM智能集成到自己的应用程序中,使开

微软博客上几篇 Semantic-kernel (SK)文章

自从最近微软开源Semantic-kernel (SK) 来帮助开发人员在其应用程序中使用AI大型语言模型(LLM)以来,Microsoft一直在忙于改进它,发布了有关如何使用它的新指南并发布了5篇文章介绍他的功能。 开发人员可以使用Semantic-kernel (SK) 创建自然语言提示、生成响

一键接入大模型:One-Api本地安装配置实操

前言 最近准备学习一下 Semantic Kernel, OpenAI 的 Api 申请麻烦,所以想通过 One-api 对接一下国内的在线大模型,先熟悉一下 Semantic Kernel 的基本用法,本篇文章重点记录一下OneApi安装配置的过程。 讯飞星火有 3.5 模型的 200w 个人免费

在GPT-4时代使用Semantic Kernel构建AI Copilot问答 以及 Semantic Kernel文档更新

Semantic Kernel是一个开源SDK,可让您轻松地将OpenAI,Azure OpenAI和Hugging Face等AI服务与C#和Python等传统编程语言相结合。通过这样做,您可以创建结合两全其美的 AI 应用程序。 Semantic Kernel 团队在博客上发布了2篇文章:Sem