smolagents 文档

内置工具

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

内置工具

smolagents 库提供的即用型工具实现。

这些内置工具是 Tool 基类的具体实现,每个都为特定任务设计,如网页搜索、Python 代码执行、网页检索和用户交互。您可以在您的智能体中直接使用这些工具,而无需自己实现底层功能。每个工具处理一种特定能力,并遵循一致的接口,使其易于组合成强大的智能体工作流程。

内置工具可以按其主要功能分类

ApiWebSearchTool

class smolagents.ApiWebSearchTool

< >

( endpoint: str = '' api_key: str = '' api_key_name: str = '' headers: dict = None params: dict = None rate_limit: float | None = 1.0 )

参数

  • endpoint (str) — API 端点 URL。默认为 Brave Search API。
  • api_key (str) — 用于身份验证的 API 密钥。
  • api_key_name (str) — 包含 API 密钥的环境变量名称。默认为 “BRAVE_API_KEY”。
  • headers (dict, 可选) — API 请求的头信息。
  • params (dict, 可选) — API 请求的参数。
  • rate_limit (float, 默认 1.0) — 每秒最大查询数。设置为 None 可禁用速率限制。

执行基于 API 搜索的网络搜索工具。默认情况下,它使用 Brave Search API。

该工具实现了速率限制机制,以确保符合 API 使用策略。默认情况下,它将请求限制为每秒 1 次查询。

示例

>>> from smolagents import ApiWebSearchTool
>>> web_search_tool = ApiWebSearchTool(rate_limit=50.0)
>>> results = web_search_tool("Hugging Face")
>>> print(results)

DuckDuckGoSearchTool

class smolagents.DuckDuckGoSearchTool

< >

( max_results: int = 10 rate_limit: float | None = 1.0 **kwargs )

参数

  • max_results (int, 默认 10) — 要返回的最大搜索结果数。
  • rate_limit (float, 默认 1.0) — 每秒最大查询数。设置为 None 可禁用速率限制。
  • **kwargs — 用于 DDGS 客户端的附加关键字参数。

使用 DuckDuckGo 搜索引擎执行搜索的网络搜索工具。

示例

>>> from smolagents import DuckDuckGoSearchTool
>>> web_search_tool = DuckDuckGoSearchTool(max_results=5, rate_limit=2.0)
>>> results = web_search_tool("Hugging Face")
>>> print(results)

FinalAnswerTool

class smolagents.FinalAnswerTool

< >

( *args **kwargs )

GoogleSearchTool

class smolagents.GoogleSearchTool

< >

( provider: str = 'serpapi' )

PythonInterpreterTool

class smolagents.PythonInterpreterTool

< >

( *args authorized_imports = None **kwargs )

SpeechToTextTool

class smolagents.SpeechToTextTool

< >

( *args **kwargs )

UserInputTool

class smolagents.UserInputTool

< >

( *args **kwargs )

VisitWebpageTool

class smolagents.VisitWebpageTool

< >

( max_output_length: int = 40000 )

WebSearchTool

class smolagents.WebSearchTool

< >

( max_results: int = 10 engine: str = 'duckduckgo' )

WikipediaSearchTool

class smolagents.WikipediaSearchTool

< >

( user_agent: str = 'Smolagents (myemail@example.com)' language: str = 'en' content_type: str = 'text' extract_format: str = 'WIKI' )

参数

搜索维基百科并返回所请求文章的摘要或全文,以及页面 URL。

示例

>>> from smolagents import CodeAgent, InferenceClientModel, WikipediaSearchTool
>>> agent = CodeAgent(
>>>     tools=[
>>>            WikipediaSearchTool(
>>>                user_agent="MyResearchBot (myemail@example.com)",
>>>                language="en",
>>>                content_type="summary",  # or "text"
>>>                extract_format="WIKI",
>>>            )
>>>        ],
>>>     model=InferenceClientModel(),
>>> )
>>> agent.run("Python_(programming_language)")
< > 在 GitHub 上更新