用途:面向 Python 工程师,讲解如何用 LangChain 1.0 的 LCEL 组合原语搭建多阶段链,并解决字典形状不匹配导致的深层 KeyError(痛点 P06)与 AgentExecutor 静默吞错(P09)。
主要能力:RunnableParallel 做扇出并发(如稠密向量检索与 BM25 并行,典型 2–3 倍墙钟收益);RunnableBranch 按输入条件路由,必须提供默认分支;RunnablePassthrough.assign 在不丢失原输入的前提下合并计算字段,用于分阶段上下文组装;RunnableLambda 主要用于调试探针(每次调用开销小于 1ms),不建议承载真实逻辑。类型化组合用 RunnableSerializable[InputT, OutputT] 配合 pydantic BaseModel,可在 lint 阶段发现形状错误。
使用方式:安装 langchain-core >= 1.0, < 2.0、pydantic >= 2.0,Python 3.10+,并至少安装一个聊天模型提供方。在每两个阶段之间插入探针定位形状变化;用 .assign 逐步扩展字典;用 RunnableBranch((cond, ch), ..., default) 路由。代理循环改用 LangGraph 的 create_react_agent,工具错误默认抛出。
适用场景:RAG 混合检索与分阶段上下文组装、分类器门控路由、客服分流、带引用的结构化输出。
限制:RunnableLambda 会降低 LangSmith 追踪保真度;RunnableParallel 分支需无副作用;未提供默认分支会静默穿透;具体模型与检索器实现、性能数据以外的收费信息暂未提供。