目录
1.LCEL的定义
2.RunnableSequence
3.LCEL LLM Chain
4.LCEL与LangGraph怎么选择
官方文档:消息 | 🦜️🔗 LangChain Python 教程
1.LCEL的定义
做 LLM 应用时,真实流程通常不只是一句 prompt 丢给模型。常常会做这些事情,先把用户输入塞进模板,调用模型,再把输出转成字符串或 JSON;有时还要把同一个输入同时发给多个分支,再把结果汇总。LCEL做的就是用统一的 Runnable 接口,把这些步骤写成一条可组合、可流式、可批量执行的链。
LangChain对Runnable的定义是:一个能被 invoke / ainvoke、batch / abatch、stream / astream 的工作单元。也就是说,只要一个对象实现了 Runnable 协议,它就能被放进 LCEL 链里。
2.RunnableSequence
RunnableSequence 是 LangChain 中串联执行任务的“线性管道”。它确保了前一步的输出会精准作为下一步的输入。LCEL用 | 组成 RunnableSequence,左边的输出会成为右边的输入。
chain = prompt | model | parser
# 先做 prompt,再调 model,再做 parser
prompt,model,Output parser是LCEL中最常见的三个组