LangChain:官方预置的工具和工具包

LangChain社区提供了大量官方预置的工具和工具包,开箱即用,覆盖了许多常见的任务场景。可以在 LangChain 的官方文档中找到这些预置工具的详细列表和使用方法。

LangChain 预置工具最推荐的集成方式是通过 create_agent API 将它们统一绑定给 LLM。Agent 会根据用户的问题自主判断、调用并执行最合适的工具,最终整合成完整回答。

使用预置工具

LangChain 预置工具最推荐的集成方式是通过 create_agent API 将它们统一绑定给 LLM。Agent 会根据用户的问题自主判断、调用并执行最合适的工具,最终整合成完整回答。

一个简单的使用流程是:

  1. **导入相关工具的 ToolToolkit**。
  2. 将其实例化为一个 tools 列表
  3. 调用 **create_agent**,在 tools 参数中传入该列表。
  4. 通过 invoke 方法传入用户请求,Agent 将自动协调工具调用。

Agent模式的核心优势在于它完全自动化了手动循环的“思考-选择-执行-返回”决策流程,是实现复杂 LLM 应用的标准方案。

Tool加载方式

LangChain 预置的工具主要分布在 langchain-community 这个集成包中。有两种主要方式加载工具:

使用load_tools便捷加载

你可以创建一个工具列表,LangChain 会帮你自动初始化这些工具。

1
2
3
4
from langchain_community.agent_toolkits import load_tools

# 按需加载指定工具
tools = load_tools(["wikipedia", "llm-math"], llm=llm)

加载好的 tools 列表可以直接绑定到模型上。

直接实例化工具类加载

直接导入特定的工具类,然后进行实例化,控制更精细。

1
2
3
4
5
6
from langchain_community.tools import WikipediaQueryRun
from langchain_community.utilities import WikipediaAPIWrapper

# 实例化 Wikipedia 工具
api_wrapper = WikipediaAPIWrapper()
wikipedia_tool = WikipediaQueryRun(api_wrapper=api_wrapper)

常用内置工具类别

接下来,根据功能类别,整理了一些常用的内置工具。部分工具可能需要申请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
    15
    from 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
    9
    from 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 请求:通过 RequestsGetToolRequestsPostTool 发送网络请求,让模型直接访问网页或调用 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):集成 CreateFileReadFileCreatePullRequest 等工具,指导模型完成常见开发任务(需配置 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-modallangchain-daytonalangchain-runloop 等集成包,方便在隔离环境中安全运行代码。
  • 服务器端工具(Server-side Tools):由模型服务提供商直接托管的云原生工具,无需在本地部署或维护。

总结与建议

LangChain 的预置工具几乎覆盖了网络搜索、代码执行、数据处理、平台集成等绝大多数 AI Agent 应用场景。这些工具在设计上极具通用性,且推荐通过 create_agent + Agent 模式与模型轻松集成。

LangChain 丰富的预置工具生态,为构建强大的 Agent 提供了坚实基础。选择哪些工具,主要取决于你的具体应用场景:

  • 信息检索/问答:优先选择 Wikipedia、ArXiv 和相关网络搜索工具。
  • 数据分析/自动化:Python REPL 和 SQL 工具包是关键。
  • 开发者工具:GitHub 工具包可以极大提升开发效率。
作者

光星

发布于

2026-05-05

更新于

2026-05-05

许可协议

评论