Chain 是 LangChain 最基础的流程组合单元,将提示词、模型、解析器、工具等组件串联成完整的业务流程。在 v1.x 中,传统 Chain 类已进入废弃通道,官方推荐统一迁移到 LangGraph;直线型流程使用 LCEL 的管道符表达同样简洁,但获得了更强的可组合性。
LCEL(LangChain Expression Language)使用管道符 | 将多个 Runnable 对象串联,写法简洁且可读性强:
rag_chain = (
{"context": retriever | format_docs, "question": RunnablePassthrough()}
| prompt
| llm
| StrOutputParser()
)复制
上述表达式表示:先将检索结果格式化,同时将原始输入透传,两者合并后送入提示词模板,再交给 LLM 处理,最后用字符串解析器输出结果。
所有 Chain 组件都实现了 Runnable 接口,支持三种核心操作模式:
这种统一接口使得组件之间可以无缝拼接,也为调试和观测提供了标准化的入口。