LangChain create_agent 大模型调用实战精讲 + 避坑指南

张开发
2026/5/5 18:37:17 15 分钟阅读

分享文章

LangChain create_agent 大模型调用实战精讲 + 避坑指南
专栏导语在 LangChain 大模型应用开发中create_agent是官方主推的新一代智能体构建 API全面替代老旧废弃的initialize_agent具备语法简洁、适配国产大模型、支持自定义系统提示词、扩展性强等优势。网上绝大多数教程存在版本不兼容、传参错误、提示词格式报错、调用方式混乱、400/429 / 解析异常等问题新手照着跑必报错。本文严格基于可直接运行的正确源码以通义千问为核心演示模型全程附带逐行详细注释拆解create_agent标准用法、系统提示词配置、调用规范、多模型适配、高频报错避坑指南、大模型 API 选型对比所有代码均经过实测可直接运行规避网络烂教程的各种坑适合入门学习、项目开发、CSDN 博客直接复用。一、环境依赖安装固定版本从根源杜绝版本报错LangChain 生态版本迭代极快不同小版本之间create_agent参数、调用逻辑差异巨大随意安装最新版必报错推荐固定稳定版依赖直接复制执行bash运行# 核心必备依赖 固定版本安装 pip install langchain0.2.10 langchain-openai0.1.21 langchain-core0.2.29安装避坑要点不要执行pip install langchain直接装最新版极易出现参数不匹配、方法不存在报错必须配套安装langchain-openai国产大模型兼容 OpenAI 协议全靠该依赖若存在旧版本先卸载再安装pip uninstall langchain langchain-openai。二、环境密钥配置彻底解决中文乱码、401 鉴权错误开发中严禁硬编码 API 密钥既不安全又容易触发接口风控、中文请求报错。统一采用系统环境变量读取密钥是 LangChain 官方标准规范也是通义千问、智谱、DeepSeek 等国产模型通用最佳实践。配置方式将大模型密钥配置到系统环境变量DASHSCOPE_API_KEY代码通过os.getenv()自动读取无需写死在代码中完美规避中文请求失败、鉴权失败问题。三、首选标准示例create_agent 官方正确完整版实测可直接运行核心亮点适配新版 LangChaincreate_agent标准传参支持自定义系统提示词无需额外引入 ChatPromptTemplate纯原生写法无冗余依赖、无兼容报错标准 messages 对话格式调用符合大模型接口规范通义千问国内直连响应稳定、中文理解能力强。完整带注释源码python运行# 导入系统模块用于读取环境变量中的API密钥 import os # 导入OpenAI兼容模型封装类适配通义千问、智谱、DeepSeek等国产大模型 from langchain_openai import ChatOpenAI # 导入新版智能体核心创建函数 create_agent from langchain.agents import create_agent # 1. 初始化通义千问大模型实例 llm ChatOpenAI( # 从系统环境变量读取密钥杜绝硬编码、401报错、中文乱码 api_keyos.getenv(DASHSCOPE_API_KEY), # 通义千问OpenAI兼容接口固定地址不可随意修改 base_urlhttps://dashscope.aliyuncs.com/compatible-mode/v1, # 指定调用通义千问turbo版本性价比高、响应速度快 modelqwen-turbo, ) # 2. 自定义系统提示词 # 直接定义系统指令无需创建ChatPromptTemplate模板简化代码且兼容create_agent system_instruction 你是一个专业智能助手能够准确回答用户日期、常识、生活咨询等各类问题回答简洁易懂。 # 3. 新版create_agent 标准创建智能体 # 关键使用 model、tools、system_prompt 三个标准参数适配v1新版语法 agent create_agent( modelllm, # 绑定初始化好的大模型实例 tools[], # 无工具调用时必须传空列表[]禁止传None system_promptsystem_instruction # 绑定自定义系统提示词 ) # 4. 标准调用智能体 if __name__ __main__: # 新版规范固定使用messages键传入标准对话结构 result agent.invoke({ messages: [{role: user, content: 元旦节是几号今天几号}] }) # 提取模型最终回复取消息列表最后一条内容标准解析方式 print(✅ create_agent 运行结果, result[messages][-1].content)代码核心规则解析create_agent新版关键字段model、tools、system_prompt不要混用旧版 prompt 参数无自定义工具时tools必须赋值为空列表[]传None会直接抛出参数异常调用入参固定用messages键遵循 rolecontent 对话结构兼容所有大模型结果解析固定取result[messages][-1].content避免解析路径错误。四、create_agent 高频避坑指南网上 90% 教程踩坑点坑 1版本不兼容导致方法不存在、参数报错错误现象create_agent() got an unexpected keyword argument system_prompt原因LangChain 版本过旧或过新接口语法变更解决方案严格按照本文指定版本安装langchain0.2.10 langchain-openai0.1.21不随意升级。坑 2tools 参数传 None 报错错误写法create_agent(llm, toolsNone)正确写法无工具必须传tools[]空列表原理新版 Agent 对工具做了类型校验必须为列表类型空列表代表不启用外部工具。坑 3旧版调用方式混用 llm.invoke ()错误做法创建 agent 后直接用llm.invoke()调用完全脱离 Agent 能力正确做法必须用agent.invoke()传入标准 messages 结构才能生效系统提示词和 Agent 编排能力。坑 4硬编码 API 密钥引发 401、中文请求失败错误做法直接把 api_key 写在代码里解决方案统一用os.getenv()读取环境变量规避鉴权失败、中文编码异常。坑 5base_url 地址错误导致接口 404、超时避坑规则不同大模型固定兼容地址不可乱改通义千问https://dashscope.aliyuncs.com/compatible-mode/v1智谱 GLMhttps://open.bigmodel.cn/api/paas/v4DeepSeekhttps://api.deepseek.com/v1坑 6提示词模板混用 ChatPromptTemplate 引发 400 解析错误网上很多案例强行嵌套ChatPromptTemplate新版create_agent原生支持system_prompt参数直接传字符串即可无需多余模板嵌套减少一层报错风险。五、主流大模型 API 调用选型对比适配 LangChain create_agent5.1 核心维度综合对比表格模型国内稳定性中文理解函数 / Agent 调用性价比适用场景通义千问 qwen-turbo★★★★★★★★★★★★★★☆极高入门开发、日常问答、企业基础应用智谱 GLM-4-Air★★★★★★★★★☆★★★★★高Agent 复杂工具调用、多轮对话DeepSeek Chat★★★★★★★★★☆★★★★☆极致高批量任务、文本摘要、低成本部署GPT-3.5/4o★★☆☆☆★★★☆☆★★★★★中复杂推理、多模态国内易超时封号5.2 选型决策建议新手入门、稳定优先、中文场景首选通义千问 qwen-turbo本文示例同款零配置易跑通开发 Agent 智能体、工具调用、多轮复杂任务选智谱 GLM-4大批量文本处理、控制成本选DeepSeek海外业务、超强推理可选 GPT 系列需代理环境不推荐国内业务直接使用。5.3 多模型快速切换模板只需修改api_key、base_url、model三个字段其余create_agent代码完全不用改python运行# 切换智谱GLM示例 llm ChatOpenAI( api_keyos.getenv(ZHIPU_API_KEY), base_urlhttps://open.bigmodel.cn/api/paas/v4, modelglm-4-air, )六、总结create_agent是 LangChain 新一代智能体标准 API替代老旧initialize_agent是未来开发主流方向固定依赖版本 环境变量密钥 标准传参是杜绝报错的三大核心本文首选代码为实测可直接运行的标准模板可作为项目开发、学习入门、博客创作的基础范本国产大模型优先选择通义千问、智谱、DeepSeek国内稳定无风控完美适配 LangChain OpenAI 兼容模式严格避开传参错误、版本混乱、调用方式错误三大类坑即可快速上手 Agent 大模型应用开发。

更多文章