LangChain 内置 Tools 入门完整介绍
LangChain 内置 Tools 入门完整介绍结合你前面那段英文讲解先理清核心定义再分类、示例、实战。一、基础概念对应你英文原文Tools工具工具是一套标准化接口让LLM / Chain / Agent和外部真实世界交互。 大模型本身只有静态知识不能联网、查数据库、执行运算、读取文件Tool 就是大模型的 “手脚”。内置工具Built-in ToolsLangChain 社区提前封装好已经写好Wrapper 包装层不用从零开发外部 API / 服务原始接口格式杂乱LangChain 统一封装成标准 Tool 格式Agent 能自动读懂、调用如果你自己对接私有接口就需要手写 Wrapper封装成自定义 Tool。Tool vs ToolkitTool单一独立功能计算器、搜索、arxiv 论文查询Toolkit一组关联工具打包例如 SQL 数据库工具集查表结构、执行查询、纠错 SQL存放位置 新版 LangChain 内置工具大多在langchain_community.tools二、内置工具分类高频实用清单适合 RAG/Agent 科研场景1. 信息检索类最常用你做论文、RAG 重点DuckDuckGoSearchRun免费网页搜索无需 API Key本地调试首选SerpAPI / GoogleSearchAPIWrapper调用 Google 搜索需要 SerpAPI 密钥英文原文提到的 Google Search API 方案ArxivQueryRun直接检索 arxiv 论文获取摘要、PDF 链接完美适配你做前沿论文 RAGWikipediaQueryRun维基百科知识查询VectorStoreQATool直接把向量库封装成工具Agent 可以自主检索私有知识库RAGAgent 组合2. 计算 代码执行类CalculatorTool数学表达式运算弥补大模型计算误差PythonREPLTool动态执行 Python 代码数据处理、画图、复杂运算 ⚠️生产环境风险极高禁止开放给公网用户3. 文件 系统操作FileSystemTool读写本地文件、遍历文件夹 ⚠️ 权限风险慎重使用4. 数据库与接口QuerySQLDatabaseTool执行 SQL 查询RequestsTool通用 HTTP 请求调用任意 Rest API5. 其他实用工具OpenWeatherMap天气查询YouTubeSearchTool视频检索三、基础使用流程两种方式方式 1单独调用工具不使用 Agent直接调用python运行# 安装依赖 # pip install langchain langchain-community duckduckgo-search from langchain_community.tools import DuckDuckGoSearchRun # 初始化内置搜索工具 search_tool DuckDuckGoSearchRun() # 直接执行 result search_tool.run(2026 RAG最新技术进展) print(result)方式 2放进 Agent让模型自动决定什么时候调用主流场景Agent 读取每个 tool 的name和description自主判断是否调用、填参。python运行from langchain_openai import ChatOpenAI from langchain_community.tools import DuckDuckGoSearchRun from langchain.agents import create_openai_tools_agent, AgentExecutor from langchain_core.prompts import ChatPromptTemplate llm ChatOpenAI(modelgpt-3.5-turbo) search_tool DuckDuckGoSearchRun() tools [search_tool] prompt ChatPromptTemplate.from_messages([ (system, 你是专业AI科研助手可以使用搜索工具查询最新资料), (user, {input}), (agent_scratchpad, {agent_scratchpad}) ]) agent create_openai_tools_agent(llm, tools, prompt) agent_executor AgentExecutor(agentagent, toolstools, verboseTrue) resp agent_executor.invoke({input: Self-RAG 和 Adaptive RAG 的区别}) print(resp[output])四、ArXiv 内置工具示例贴合你的论文 RAG 场景bash运行pip install langchain-community arxivpython运行from langchain_community.tools import ArxivQueryRun arxiv_tool ArxivQueryRun() # 检索RAG相关论文 res arxiv_tool.run(Retrieval Augmented Generation latest survey) print(res)五、关键注意事项避坑description 至关重要Agent 依靠工具描述判断什么时候使用该工具描述写得模糊模型会乱调用或者不调用。安全红线PythonREPLTool、ShellTool、文件操作工具不要直接对外暴露存在命令注入风险。内置工具 ≠ 开箱即用全部谷歌搜索、天气等第三方工具必须申请 API KeyDuckDuckGo 是少数免密钥调试工具。区分预构建内置 Tool 和 自定义 Tool 没有现成工具时用tool装饰器封装自己的函数也就是你原文说的自己写 Wrapper。python运行from langchain_core.tools import tool tool def local_knowledge_search(query: str) - str: 检索本地知识库用于查询内部文档信息。 参数: query: 用户检索关键词 # 内部向量库检索逻辑 return 检索结果……六、学习路线建议针对你做本地 RAGAgent先用DuckDuckGo Arxiv两个内置工具跑通 Agent把本地向量库封装成 VectorStore 工具实现「Agent 自主 RAG 检索」尝试接入 SerpAPIGoogle 搜索学习自定义 Tool对接自己的数据库、文档接口。