跳转至

工具包

工具包是智能体可以用来执行操作的相关工具的集合。它们是扩展智能体功能的主要方式。

主要有三种类型的工具包: - builtin:框架默认提供的工具包。 - mcp:通过 Model Context Protocol (MCP) 访问的工具包。 - customized:用户创建的工具包。

内置工具包

所有内置工具包都继承自 AsyncBaseToolkit 抽象基类。该类提供了用于创建和管理工具的标准化接口。

以下是框架中一些关键工具包的摘要:

工具包类 提供的工具(函数) 核心功能和机制
SearchToolkit search, web_qa 使用 Serper API 执行网络搜索,并使用 Jina API 读取网页内容。它可以使用 LLM 根据页面内容回答问题。
DocumentToolkit document_qa 处理本地或远程文档(PDF、DOCX 等)。它使用 chunkr.ai 服务解析文档,并使用 LLM 回答问题或提供摘要。
PythonExecutorToolkit execute_python_code 在隔离环境中使用 IPython.core.interactiveshell 执行 Python 代码片段。它在单独的线程中运行以防止阻塞,并可以捕获输出、错误甚至 matplotlib 图表。
BashToolkit run_bash 使用 pexpect 库提供持久的本地 shell 会话。这允许智能体运行一系列保持状态的命令(例如,当前目录)。
ImageToolkit image_qa 回答有关图像的问题或提供详细描述。它使用具有视觉功能的 LLM 来分析图像内容。
AudioToolkit audio_qa 使用音频模型转录音频文件,然后使用 LLM 根据转录内容回答问题。
CodesnipToolkit run_code 通过将代码发送到远程沙盒服务(如 SandboxFusion)并返回结果来执行各种语言(Python、C++、JS 等)的代码。

如果你不熟悉 MCP,请参阅 MCP 文档

如何检查工具包

我们提供了两个有用的脚本来检查和测试工具包:

导出工具模式

此脚本将 TOOLKIT_MAP 中注册的所有工具导出到 .xlsx 文件中。默认输出文件是 tools.xlsx

python scripts/utils/dump_tool_schemas.py

检查和测试工具

你可以启动一个通过 HTTP 公开工具的本地 MCP 服务器。这允许你使用 MCP 客户端交互式地测试工具。例如 MCP Inspector

# 启动 MCP 服务器
python scripts/utils/start_tools_mcp.py --toolkits search image github

# 启动 MCP 检查器
npx @modelcontextprotocol/inspector
# ... 使用 Streamable HTTP 传输 URL http://localhost:3005/mcp 连接到 MCP 服务器