N14 / 39 · Code Handbook
按六类整理 LCEL 用法、提示词、检索、Agent 开发 与结构化输出的可复制片段,附粘贴代码自检,快速避开旧版 API。
规则匹配常见弃用写法,不修改代码、不联网;转义便于贴进文档与配置。
点击「检查弃用写法」查看结果。
围绕 LCEL、Chain 与 Agent 区别、提示词模板与弃用 API 整理。
本页按六类整理常用片段:LCEL 与 Runnable、提示词与模型、输出解析、检索与向量库、工具与 Agent、结构化输出与流式。较新的代码以 langchain-core / langchain-openai / langgraph 为主的 0.3 系风格编写,并在弃用片段上单独标注;实际项目请核对当前安装版本的官方文档。
LCEL 用管道符把组件串成 Runnable:chain = prompt | model | StrOutputParser(),再用 chain.invoke() 调用。相比旧版 LLMChain,它原生支持 stream、batch、ainvoke、并行与回退,也更容易组合检索器与自定义函数。旧版 chain.run()、LLMChain、initialize_agent 都属于已迁移的写法,本页「粘贴代码自检」会逐条提示。
Chain 的执行路径是开发者预先写死的固定步骤,输入进来按序跑完;Agent 由模型自己决定是否调用工具、调用几次以及何时结束,执行路径在运行时决定。新版推荐用 LangGraph 的 create_react_agent 或自建状态图实现 Agent,Chain 继续用 LCEL 表达。
提示词用 ChatPromptTemplate.from_messages 定义 system / human 等角色,缺的变量在 invoke 时传入;需要稳定 JSON 时用 model.with_structured_output(PydanticModel) 让模型按 schema 返回,比正则解析字符串更可靠。本页「提示词与模型」「结构化输出与流式」两类里都有可直接复制的最小示例。
把代码粘进「粘贴代码自检」,会检查 LLMChain、langchain.chains、chain.run()、initialize_agent、AgentExecutor、ConversationBufferMemory、langchain.llms 等常见旧写法,并给出对应的迁移方向。检查是规则匹配,不会修改你的代码,也不覆盖所有弃用项,最终以所用版本的官方迁移指南为准。