【08】LangChain 入门:用 @tool 装饰器 5 分钟搭 Agent
LangChain 入门用 tool 装饰器 5 分钟搭 Agent基于 Lion-1209/AgentStudyhttps://github.com/Lion-1209/AgentStudy 仓库对应代码见stage2-langchain/task2.1_langchain_agent.py从 200 行到 100 行框架的价值上一篇你用手写了 200 行的最小 Agent。现在用 LangChain同样的功能只需要 100 行。框架不改变本质只是把重复的工作封装起来。LangChain Agent 的核心组件tool decorator define工具AgentExecutor wrap ReAct loopChatPromptTemplate prompt templateLLM model callfinal output三个组件 一个 Agent。5 分钟搭一个 Agent步骤 1定义工具用装饰器fromlangchain_core.toolsimporttooltooldefget_weather(city:str)-str:获取指定城市的天气信息。 Args: city: 城市名称如北京 weather_data{北京:晴天温度 25°C,上海:多云温度 28°C,}returnweather_data.get(city,f未找到{city}的天气数据)tooldefcalculate(expression:str)-str:计算数学表达式。 Args: expression: 数学表达式如 2 3 * 4 returnstr(eval(expression))tools[get_weather,calculate]装饰器的魔法tool自动从函数签名和 docstring 生成 JSON Schema。你不需要手写工具描述。步骤 2创建 Agentfromlangchain_openaiimportChatOpenAIfromlangchain.agentsimportcreate_agent llmChatOpenAI(modelgpt-4o-mini)agentcreate_agent(llm,toolstools)步骤 3运行resultagent.invoke({messages:[{role:user,content:北京天气怎么样}]})print(result[messages][-1].content)就这么简单。3 个步骤一个可用的 Agent。对比纯 Python vs LangChain维度纯 PythonLangChain工具定义手写字典 描述tool装饰器自动生成 SchemaReAct 循环自己写 while 循环AgentExecutor自动封装提示词管理字符串拼接ChatPromptTemplate模板化错误处理手动 try-except内置错误处理机制调试print 语句LangSmith 集成tool 装饰器原理你写函数 docstringtool decoratorauto提取function nameauto提取参数类型auto提取docstring作为description生成JSON SchemaLLM 能理解的工具define你只写业务逻辑框架帮你生成 Schema。学习检查清单能用 tool 装饰器定义一个工具吗知道 AgentExecutor 封装了什么吗能对比出 LangChain 相比纯 Python 省掉了哪些重复代码吗延伸阅读 完整代码stage2-langchain/task2.1_langchain_agent.py API 参考LANGCHAIN_REFERENCE.md️ 上一篇[07] 4 大框架横评手册️ 下一篇[09] 多工具 Agent 错误处理

相关新闻

如何彻底解决泰坦之旅装备管理难题:TQVaultAE完全指南

如何彻底解决泰坦之旅装备管理难题:TQVaultAE完全指南

如何彻底解决泰坦之旅装备管理难题:TQVaultAE完全指南 【免费下载链接】TQVaultAE Extra bank space for Titan Quest Anniversary Edition 项目地址: https://gitcode.com/gh_mirrors/tq/TQVaultAE 还在为《泰坦之旅:周年纪念版》的背包空间不足…

2026/9/19 14:50:05 阅读更多 →
3个秘诀让二次元伙伴住进你的桌面:DyberPet桌面宠物框架全攻略

3个秘诀让二次元伙伴住进你的桌面:DyberPet桌面宠物框架全攻略

3个秘诀让二次元伙伴住进你的桌面:DyberPet桌面宠物框架全攻略 【免费下载链接】DyberPet Desktop Cyber Pet Framework based on PySide6 项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet 还在对着单调的桌面发呆吗?想象一下&#x…

2026/9/19 15:59:49 阅读更多 →
终极免费资源下载神器:3分钟解锁全网视频音频自由

终极免费资源下载神器:3分钟解锁全网视频音频自由

终极免费资源下载神器:3分钟解锁全网视频音频自由 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾为无法…

2026/9/19 14:54:21 阅读更多 →

最新新闻

大整数加法速查手册:拆解源码彻底搞定

大整数加法速查手册:拆解源码彻底搞定

大整数加法速查手册:拆解源码彻底搞定 看了一堆教程还是不会写项目?别慌,很多人卡在“看懂了逻辑”和“能独立实现”之间的鸿沟。大整数加法看似简单,实则是考察字符串处理、数组操作及边界条件的经典入门题。本文不玩虚的,直接通过一份…

2026/9/22 3:58:21 阅读更多 →
qvod视频搜索实战项目踩坑:API全变后的3个致命错误

qvod视频搜索实战项目踩坑:API全变后的3个致命错误

qvod视频搜索实战项目踩坑:API全变后的3个致命错误 qvod视频搜索接口在2023年Q4版本升级后,底层数据结构彻底重构,导致大量基于旧版API开发的实战项目直接报错。很多开发者盯着控制台里满屏的 JSON Parse Error…

2026/9/22 3:58:21 阅读更多 →
3个维度图解原理:你x我xx选型避坑指南

3个维度图解原理:你x我xx选型避坑指南

3个维度图解原理:你x我xx选型避坑指南 看了一堆教程还是不会写项目?别怪自己笨,是你没搞懂底层逻辑。 很多人卡在“为什么我的代码跑不通”或者“这个库到底怎么选”上。其实, 你x我xx 的核心不在表面 API,而在其背后的 图解原理 。…

2026/9/22 3:58:21 阅读更多 →
当当网上书店首页复刻踩坑实录与源码解析

当当网上书店首页复刻踩坑实录与源码解析

当当网上书店首页复刻踩坑实录与源码解析 复制来的代码跑不通不知道怎么调,这是很多前端转岗或者练手项目时最崩溃的时刻。你从网上搜到一份“当当网上书店首页”的高仿代码,满怀期待地粘贴进项目,结果页面要么白屏,要么布局错乱,控制台报错一片红。别急…

2026/9/22 3:58:21 阅读更多 →
面试总被问原理?3个方案对比s200spx手写实现完整示例

面试总被问原理?3个方案对比s200spx手写实现完整示例

面试总被问原理?3个方案对比s200spx手写实现完整示例 面试官盯着你,眼神里带着“这你都不知道?”的轻蔑。你脑子一片空白,明明背过八股文,可一涉及底层逻辑就卡壳。这种“原理答不上来”的窘境,是无数转岗开发者的噩梦。别慌,今天不整虚的,直…

2026/9/22 3:57:21 阅读更多 →
3步搞定质量体系图解原理,拒绝Stack Trace报错

3步搞定质量体系图解原理,拒绝Stack Trace报错

3步搞定质量体系图解原理,拒绝Stack Trace报错 面对满屏红色的 Stack Trace,你是不是觉得像看天书?明明代码逻辑没变,一跑就崩,日志里全是 NullPointerException 或者…

2026/9/22 3:57:21 阅读更多 →

日新闻

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天 配置环境就卡半天?别怪机器慢,多半是你没选对工具链。在Java、Go或Python的项目现场, 手写实现…

2026/9/22 0:00:41 阅读更多 →
剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑 面试被问原理答不上来,是不是常态?别慌。很多开发者对着 GitHub 开源仓库里的代码发呆,看似简单实则暗藏玄机。今天这份【剑帝加点】速查手册,直接带你拆解核心实现,把面试必考的原理讲透。…

2026/9/22 0:00:41 阅读更多 →
手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优 复制来的代码跑不通不知道怎么调?别慌,这种“复制粘贴地狱”在开发圈太常见了。尤其是做 图片压缩网站…

2026/9/22 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/22 2:43:42 阅读更多 →