langChain与langGraph的关系与区别

  概念介绍

         LangChain是一个专门为开发AI应用而设计的开源框架。它是模块化链条编排的先驱,简化了LLM和传统工具再AI应用中的集成。但在Agent概念成为了AI应用开发的核心方向后,LangChain无法支持其开发。

        LangGraph作为其进化的产物。它引入了图计算与状态管理的概念,用于完成Agent架构中复杂的流程构建与流转。再实际的应用中,其能将复杂的任务拆解成多个节点,每个节点代表着一个操作或者一个智能体,通过边定义节点间的依赖关系实现数据流向。这种方式可以是Agent架构的设计与调试更加高效,尤其是多智能体协作和长流程任务处理等场景中。

核心架构介绍

LangChain :标准化的AI应用开发框架,提供模块化组件和接口层

代码示例:

from langchain.chains import create_retrieval_chain
from langchain_community.document_loaders import WebBaseLoader
from langchain_openai import ChatOpenAI

# 1. 加载文档
loader = WebBaseLoader("https://xxxx/news")
docs = loader.load()

# 2. 构建链式工作流
chain = (
    create_retrieval_chain(retriever)  # 检索模块
    | ChatOpenAI(model="gpt-4o")        # LLM生成摘要
    | lambda x: x["answer"][:200]       # 结果截断
)

# 3. 执行链
result = chain.invoke({"input": "总结核心内容"})
print(result)  # 输出:'文章讨论AI伦理...'

LangGraph:基于图结构的Agent流程建模与执行引擎。

  1. 节点:是LangGraph的基本元素,Agent/Tool/END等执行单元。
  2. 边:带条件的状态流转路径(可以通过模型回答选择通过if-else选择下所走边,并且支持循环、并行)。
  3. 状态:贯穿流程的上下文容

不可替代的三类场景

  • 多Agent协作

builder.add_node("sales_agent", sales_processor)
builder.add_node("support_agent", support_processor)
builder.add_conditional_edges("router", route_by_intent)  # 动态路由
  • 带状态的长时任务
# 持久化检查点(支持服务重启续传)
memory = SqliteSaver.from_conn_string(":memory:")
graph = builder.compile(checkpointer=memory)
  • 人工介入流程
# 敏感操作前暂停等待审批
graph.compile(interrupt_before=["refund_payment"])

    框架定位本质差异

    维度LangChainLangGraph
    核心定位AI应用开发基础框架复杂工作流编排引擎
    核心价值提供原子能力(模型/工具/组件)构建状态感知的动态流程
    类比角色乐高积木库(提供标准化零件)机械传动系统(控制零件协作方式)

    LangChain 0.2+已深度集成LangGraph,可通过@chain装饰器直接将LangChain链转为LangGraph节点,实现无缝协作。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    日上三杆快起床

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值