LangChain 与 LangGraph:如何选择合适的工具

最近很多做Agent开发的朋友问我:

LangChain 和 LangGraph 有啥区别?

甚至还有更直白的:

是不是就像 链表 vs 图?

我的回答:非常形象。

  • LangChain ≈ 链表(单向线性)

  • LangGraph ≈ 有向图(DAG)

图片

下面的内容翻译自 https://www.js-craft.io/blog/langchain-vs-langgraph/

LangChain 和 LangGraph 经常引起混淆。我能理解为什么!

它们不仅名称相似,而且由同一支团队开发并具有共同的目的:与LLM(大型语言模型)协同工作并进行集成。

更有趣的是,在某个特定点,一个可以取代另一个。

把它们想象成锯子和斧头。两者都用于切割,但根据具体工作,其中一种工具可能比另一种更有效。在某些情况下,你甚至可以同时使用两种工具来获得最佳效果。

我认为下图很好地解释了我们可以定义的 LangChain 与 LangGraph 的流程类型的差异:

图片

现在,回到正文。

顾名思义,LangChain 是基于“链”构建的。“链”指的是顺序工作流,其中每个步骤都遵循预先定义的顺序。它非常适合 A → B → C 类型的流程,其中每个步骤都紧接着前一个步骤。

这是定义一个非常简单的链的代码:

const chain = pointA.pipe(pointB).pipe(pointC)

另一方面,LangGraph 支持动态分支流程。它允许在每一步进行决策,根据条件启用 A → B 或 C 之类的路径。这使得它非常适合 AI 代理用例,其中 LLM 需要动态确定下一步操作。

例如,上述结构的 LangGraph 代码如下所示:

const graph = new StateGraph()
 .addNode("A", functionA)
 .addNode("B", functionB)
 .addNode("C", functionC)
 .addConditionalEdges("A", makeDecision, ["B", "C])

考虑以下提示:

Translate this text into English and summarize it: 
<< long text in Spanish here >>

这是顺序链 A->B->C 的经典示例,其中:

  • A 正在翻译文本

  • B 总结翻译文本

  • C 输出结果

在链中,一个步骤的输出被用作下一步的输入。

现在,我们来看一个AI Agent助手帮助用户选择周末活动的场景:

You are an AI assistant helping a user choose a weekend activity.  
Step 1: Ask if they prefer indoors or outdoors.  
- If indoors, do a web search and suggest a movie or a book 
- If outdoors, check the weather and 
  - If the weather is good, use Google Maps to suggest a hiking track  
  - If it rains, use skyscanner.com to search for a flight. 
Step 2: Output the final recommendation.

在这种情况下,流程会根据用户输入和外部条件进行分支。AI 代理可以动态调用不同的工具,例如网页搜索、天气 API、谷歌地图或天巡。这正是 LangGraph 所擅长的工作流程。

顺便提一下,LangChain 确实提供了一些类似RunnableMap的分支功能。但 LangGraph 在处理这类情况时更加符合人体工程学。

这些工具并非互相排斥,它们也可以协同工作。例如,在 LangGraph 结构中,一个节点可以包含使用 LangChain 实现的一系列步骤。

但总体思路是要记住:

  • LangChain将成为您使用的工具,以添加 LLM 集成和更简单的直接流程

  • 而LangGraph是定义 AI 智能体流程的完美工具,有时 LLM 会决定接下来调用图的哪个节点。

我认为,最好先了解 LangChain 的基础知识,然后再学习 LangGraph。虽然在使用 LangGraph 创建智能体之前,你不需要完全掌握 LangChain,但扎实掌握其基础知识肯定会有所帮助。

 如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

基于此,我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近70次后,终于把整个AI大模型的学习门槛,降到了最低!

在这个版本当中:

第一您不需要具备任何算法和数学的基础
第二不要求准备高配置的电脑
第三不必懂Python等任何编程语言

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型教程已经给大家整理并打包,现在将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

五、AI产品经理大模型教程

在这里插入图片描述

LLM大模型学习路线 

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

### LangChainLangGraph 兼容的 Python 版本 LangChain 是一个用于开发基于大语言模型的应用程序的框架,而 LangGraph 并不是一个官方已知的库名称。如果指的是 Graph 数据结构或者类似的扩展模块,则可能需要进一步澄清具体需求。 对于 LangChain 的兼容性,其最低支持的 Python 版本通常为 **Python 3.7** 或更高版本[^1]。这是因为 LangChain 使用了一些现代 Python 功能以及依赖于其他第三方库(如 `tiktoken`),这些库本身也需要较新的 Python 版本才能正常运行。 以下是关于 LangChain 安装和使用的注意事项: #### 最低 Python 版本要求 LangChain 推荐使用 **Python 3.8 及以上版本** 来获得最佳体验[^1]。较低版本可能会遇到不兼容问题或缺少某些特性支持。 #### 示例安装命令 ```bash pip install langchain>=0.0.295 ``` 为了验证当前环境是否满足 LangChain 的要求,可以执行以下代码片段来检查 Python 版本: ```python import sys if not (sys.version_info.major >= 3 and sys.version_info.minor >= 8): raise Exception(f"LangChain requires at least Python 3.8, but you are using {sys.version}.") else: print("Your Python version is compatible with LangChain.") ``` 至于提到的 “LangGraph”,如果没有更多上下文说明可能是拼写错误或者是自定义项目的一部分。如果是希望集成图数据库或其他图形处理工具LangChain 中,建议查看社区文档是否有相关插件支持[^2]。 --- ### 总结 - LangChain 支持 **Python 3.7+**, 更推荐使用 **Python 3.8+**。 - 如果涉及特定组件(如图数据结构操作),需确认该部分的具体实现方式并匹配相应依赖条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值