彻底搞懂LangGraph【1】:构建复杂智能体应用的LangChain新利器

文章介绍了LangChain中的核心概念链(LangChainExpressLanguage,LCEL)以及如何通过LCEL构建和调度Agent,强调了在循环和控制能力上的局限性,进而引出LangGraph的设计,旨在提供更精细的控制和循环支持,以适应复杂LLM应用需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PART 01 预备知识

【LangChain中的链与LCEL】

Chain(链)是LangChain中最核心的概念之一(看名字就知道)。简单的说,就是把自然语言输入、关联知识检索、Prompt组装、可用Tools信息、大模型调用、输出格式化等这些LLM 应用中的常见动作,组装成一个可以运行的“链”式过程。链可以直接调用,也可以用来进一步构建更强大的Agent。

LCEL即LangChain Express Language,即LangChain表达语言。这是LangChain提供的一种简洁的、用于组装上述“链”的声明性方式。

我们看一个官方使用LCEL“组装”Chain的例子就明白:

prompt = ChatPromptTemplate.from_template("讲一个关于 {topic} 的笑话")
model = ChatOpenAI(model="gpt-4")
output_parser = StrOutputParser()
chain = prompt | model | output_parser
#调用chain
chain.invoke({"topic": "冰淇淋"})

这个官方的例子中,把提示(prompt)、大模型(model)、输出解析(output_parser)几个组件使用管道符号“|”链接在一起,上个组件的输出作为下一个组件的输入,一起形成了一个链。

对于最常见的RAG应用来说,使用LCEL也无非是在此之上增加一个检索相关文档的动作,类似:

chain = setup_and_retrieval | prompt | model | output_parser

这里很清晰地看到一个简单的RAG应用处理过程:检索关联文档 => 组装Prompt => 调用大模型 => 输出处理。

最后总结一下:LCEL就是LangChain提供用来组装Chain的一种简单表示方式。用这种方式组装链,可以自动获得诸如批量、流输出、并行、异步等一系列能力;而且链可以进一步通过LCEL组装成更复杂的链与Agent。

【LCEL构建与调度Agent】

那么如何用LCEL来创建一个AI Agent并调度运行呢?以最常见的React(推理&行动)范式的Agent来说,相对于Chain需要扩展的能力有:

  • 增加工具使用能力。这体现在Prompt中需要注入可用工具信息,并能自动调用工具获得结果。
  • 增加“循环”能力。Agent的运行通常需要多次Reason(推理)-Act(行动)的反复与循环,直到完成任务。

以LCEL来组装并创建运行一个Agent的简单过程如下:

""&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值