码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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 来实现其目的。

     07dedcda3bc498235081a6c71a727c3

    这就是像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应用。

    相关链接

    • [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
  • 相关阅读:
    Nginx 重新编译添加新的模块
    一个diors的未来展望噜
    C#学习笔记--复杂数据类型、函数和结构体
    java计算机毕业设计快递配送平台源码+系统+mysql数据库+lw文档+部署
    软件评测师之程序设计语言【更新中……】
    vmware fusion12共享文件夹到虚拟机window10
    一个对C#程序混淆加密,小巧但够用的小工具
    2023护网行动面试题目汇总
    自动跟踪太阳光电路设计
    电源ATE自动测试系统为您提供一站式自动化测试解决方案
  • 原文地址:https://www.cnblogs.com/shanyou/p/17338785.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号