LangChain:官方预置的工具和工具包
LangChain社区提供了大量官方预置的工具和工具包,开箱即用,覆盖了许多常见的任务场景。可以在 LangChain 的官方文档中找到这些预置工具的详细列表和使用方法。
LangChain 预置工具最推荐的集成方式是通过 create_agent API 将它们统一绑定给 LLM。Agent 会根据用户的问题自主判断、调用并执行最合适的工具,最终整合成完整回答。
使用预置工具
LangChain 预置工具最推荐的集成方式是通过 create_agent API 将它们统一绑定给 LLM。Agent 会根据用户的问题自主判断、调用并执行最合适的工具,最终整合成完整回答。
一个简单的使用流程是:
- **导入相关工具的
Tool或Toolkit**。 - 将其实例化为一个
tools列表。 - 调用 **
create_agent**,在tools参数中传入该列表。 - 通过
invoke方法传入用户请求,Agent 将自动协调工具调用。
Agent模式的核心优势在于它完全自动化了手动循环的“思考-选择-执行-返回”决策流程,是实现复杂 LLM 应用的标准方案。
Tool加载方式
LangChain 预置的工具主要分布在 langchain-community 这个集成包中。有两种主要方式加载工具:
使用load_tools便捷加载
你可以创建一个工具列表,LangChain 会帮你自动初始化这些工具。
1 | from langchain_community.agent_toolkits import load_tools |
加载好的 tools 列表可以直接绑定到模型上。
直接实例化工具类加载
直接导入特定的工具类,然后进行实例化,控制更精细。
1 | from langchain_community.tools import WikipediaQueryRun |
常用内置工具类别
接下来,根据功能类别,整理了一些常用的内置工具。部分工具可能需要申请API Key或进行相应配置。
常用内置工具
| 类别 | 代表性工具及类型 | 主要用途 | 申请/配置方式 | 使用要点 |
|---|---|---|---|---|
| 搜索与网络 | DuckDuckGoSearch (免费) GoogleSearch (付费) TavilySearch (部分免费) Wikipedia (免费) SearxngSearch (免费) Bing Search(付费) Brave Search(免费) |
从互联网或特定平台获取实时信息、新闻、学术文章等内容。 | Wikipedia:通常无需配置 其他:可能需要注册并获取API Key |
提供多种选择,可根据成本和质量需求灵活选用。 |
| 代码解释器 | PythonREPLTool Amazon Bedrock AgentCore Code Interpreter |
执行Python等语言的代码,处理数据、数学计算或生成图表。 | PythonREPLTool:需注意环境安全性 Amazon Bedrock:需配置AWS服务 |
功能强大,但必须警惕代码执行带来的安全风险。 |
| 文件处理 | ReadFileTool (读取文件) CopyFileTool (复制文件) ListDirectoryTool (列出目录) |
提供与本地或远程文件系统交互的能力。 | 通常无需外部配置,但需注意文件读写权限 | 为文件管理任务提供便利。 |
| 特定平台 | ArxivQueryRun (学术) GmailTool (邮件) DiscordTool (社交) GoogleCalendarTool (日历) |
与特定应用或服务交互,触发其API功能。 | 需要使用对应平台的API密钥或进行OAuth授权 | 让AI能够“操作”具体的应用。 |
网络搜索工具
| 工具名称 | 付费方式 | 主要用途 |
|---|---|---|
| Bing Search | 付费 | 通用搜索引擎,检索实时网络信息 |
| Brave Search | 免费 | 聚焦隐私保护的网页、新闻、图片搜索 |
| DuckDuckGoSearch | 免费 | 网页、新闻、图片、视频搜索,无需认证 |
| Exa Search | 每月 1000 次免费 | 由 AI 驱动的搜索引擎,强调网页内容理解 |
| Google Search | 付费 | 官方 Google 搜索 API 接入 |
| Google Serper | 免费 | Google 搜索结果的 API 封装,含搜索排名 |
| Jina Search | 前 100 万 Token 免费 | 支持深度爬取并返回完整网页内容 |
| Perplexity Search | 付费 (含月免) | 直接返回整合后的对话式答案 |
| SearchApi | 注册送 100 次 | 聚合多引擎搜索结果的统一 API 接入 |
| SearxNG Search | 免费 | 支持自托管,聚合多引擎结果的元搜索引擎 |
| Tavily Search | 每月 1000 次免费 | 为 AI Agent 优化,返回结构化搜索结果(含摘要) |
除了通用搜索,LangChain 学术搜索工具,如 arxiv (arXiv 学术论文库)、Google Scholar (谷歌学术) 和 Google Finance (谷歌财经),适合专业领域问答构建。
常用工具包举例
有些复杂任务需要多个工具协作,工具包提供了一整套解决方案:
SQL 数据库工具包
SQL数据库工具包 (SQLDatabaseToolkit):让 LLM 能够通过自然语言与 SQL 数据库进行交互。
核心工具:包含
QuerySQLDataBaseTool(执行查询)、InfoSQLDatabaseTool(获取数据库Schema信息)、ListSQLDatabaseTool(列出所有表名)、QuerySQLCheckerTool(检查SQL语法)等。使用示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15from langchain_community.agent_toolkits.sql.toolkit import SQLDatabaseToolkit
from langchain_community.utilities import SQLDatabase
from langchain_openai import ChatOpenAI
# 1. 建立数据库连接
db = SQLDatabase.from_uri("sqlite:///Chinook.db")
# 2. 初始化模型
llm = ChatOpenAI(model="gpt-3.5-turbo")
# 3. 创建工具包
toolkit = SQLDatabaseToolkit(db=db, llm=llm)
# 4. 获取工具列表并绑定到Agent
tools = toolkit.get_tools() # 返回一个包含所有工具的工具列表
安全提示:请务必确保数据库连接权限遵循最小权限原则。
GitHub 工具包
GitHub工具包 (GitHubToolkit):让 AI 能够直接操作 GitHub 仓库,处理 Issue 和 Pull Request 等工作流程。
核心工具:包括
CreateFile(创建文件)、ReadFile(读取文件)、UpdateFile(更新文件)、CreatePullRequest(创建PR)、GetIssue(获取Issue)等。使用示例:
1
2
3
4
5
6
7
8
9from langchain_community.agent_toolkits.github.toolkit import GitHubToolkit
from langchain_community.utilities.github import GitHubAPIWrapper
# 需要预先设置环境变量: GITHUB_APP_ID, GITHUB_APP_PRIVATE_KEY, GITHUB_REPOSITORY
github_api_wrapper = GitHubAPIWrapper()
toolkit = GitHubToolkit.from_github_api_wrapper(github_api_wrapper)
# 获取工具列表
tools = toolkit.get_tools()
文件与数据处理工具
这些工具扩展了模型处理本地和结构化文件的能力。
- 文件系统操作 (
langchain_community.tools.file_system):提供一套预置方法,用于读取 (ReadFileTool)、复制 (CopyFileTool)、列出 (ListDirectoryTool) 和写入 (WriteFileTool) 文件。 - PDF 处理:通过
PDFMinerTool从 PDF 文件中提取文本内容,需要额外安装pdfminer.six依赖。 - CSV 数据处理 (
CSVTool):针对 CSV 文件的专用工具,可直接执行类 SQL 查询来筛选、分析结构化数据。 - JSON 处理工具包 (
JsonToolkit):包含JsonListKeysTool(列出所有键) 和JsonGetValueTool(获取指定值),方便模型解析和查询 JSON 结构。 - 向量存储问答 (
VectorStoreQATool):让模型能够与向量数据库交互,从知识库或文档集合中检索出最相关的文本片段。
网络与API交互工具
这些工具是模型获取信息和调用外部服务的主要方式。
- HTTP 请求:通过
RequestsGetTool和RequestsPostTool发送网络请求,让模型直接访问网页或调用 REST API。 - 大语言模型增强:
Connery Action Tool、Zapier 集成 (ZapierToolkit) 和 IFTTT 服务 (IFTTTWebHook) 可与数百种外部应用交互,将大语言模型智能与自动化工作流无缝衔接。 - 多媒体与通讯:集成 Discord (社交及频道交流)、Gmail (邮件收发)、Google Calendar (日程管理) 等工具,让 Agent 能执行邮件通知、消息推送等任务,突破纯文本交互。
- 图像生成:
Dall-E Tool利用 OpenAI 的 DALL-E 模型,驱动 Agent 基于文本描述生成图像。
专业领域工具包
解决特定任务的多个工具的集合,方便一次性获取特定业务场景所需的所有工具。
- SQL 数据库 (
SqlToolkit):包含QuerySqlTool(执行 SQL 查询)、InfoSqlTool(获取数据库 Schema 信息) 等,让 LLM 理解并操作数据库。 - GitHub 开发 (
GitHubToolkit):集成CreateFile、ReadFile、CreatePullRequest等工具,指导模型完成常见开发任务(需配置 GitHub App 权限)。 - AgentPhone:专门集成电话操作的工具包,可使 AI Agent 具备拨打电话、发送短信等能力。
- AINetwork:提供与区块链交互的工具,帮助 Agent 查询链上数据或执行合约操作。
- OpenAPI 工具包 (
OpenAPI Toolkit):根据 API 规范 URL 动态生成交互工具包,使模型自动理解并按需调用第三方 API。
学术搜索工具补充
如果需要用于论文查询与学术研究,LangChain 还提供了:
- ArxivQueryRun:查询 arXiv 学术论文库
- Google Scholar:集成谷歌学术搜索
新特性与扩展
- 内置工具(Built-in Tools):LangChain 在 1.0 版本及之后引入了部分内置工具(如 Anthropic 的
claude-3系列原生工具调用),极大简化了传统依赖外部 API 的调用链路。 - 可插拔沙盒:新增
langchain-modal、langchain-daytona、langchain-runloop等集成包,方便在隔离环境中安全运行代码。 - 服务器端工具(Server-side Tools):由模型服务提供商直接托管的云原生工具,无需在本地部署或维护。
总结与建议
LangChain 的预置工具几乎覆盖了网络搜索、代码执行、数据处理、平台集成等绝大多数 AI Agent 应用场景。这些工具在设计上极具通用性,且推荐通过 create_agent + Agent 模式与模型轻松集成。
LangChain 丰富的预置工具生态,为构建强大的 Agent 提供了坚实基础。选择哪些工具,主要取决于你的具体应用场景:
- 信息检索/问答:优先选择 Wikipedia、ArXiv 和相关网络搜索工具。
- 数据分析/自动化:Python REPL 和 SQL 工具包是关键。
- 开发者工具:GitHub 工具包可以极大提升开发效率。
LangChain:官方预置的工具和工具包
http://blog.gxitsky.com/2026/05/05/AI-LangChain-047-Tool-Pre-Package/

