smolagents 文档
内置工具
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
内置工具
由 smolagents
库提供的即用型工具实现。
这些内置工具是 Tool 基类的具体实现,每个都为特定任务设计,如网页搜索、Python 代码执行、网页检索和用户交互。您可以在您的智能体中直接使用这些工具,而无需自己实现底层功能。每个工具处理一种特定能力,并遵循一致的接口,使其易于组合成强大的智能体工作流程。
内置工具可以按其主要功能分类
- 信息检索:从网络和特定知识源中搜索和检索信息。
- 网络交互:从特定网页获取和处理内容。
- 代码执行:动态执行 Python 代码以完成计算任务。
- 用户交互:实现智能体与用户之间的人机协同合作。
- UserInputTool:收集用户输入。
- 语音处理:将音频转换为文本数据。
- 工作流控制:管理和指导智能体操作的流程。
- FinalAnswerTool:以最终响应结束智能体工作流程。
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 )
执行基于 API 搜索的网络搜索工具。默认情况下,它使用 Brave Search API。
该工具实现了速率限制机制,以确保符合 API 使用策略。默认情况下,它将请求限制为每秒 1 次查询。
DuckDuckGoSearchTool
class smolagents.DuckDuckGoSearchTool
< 源 >( max_results: int = 10 rate_limit: float | None = 1.0 **kwargs )
使用 DuckDuckGo 搜索引擎执行搜索的网络搜索工具。
FinalAnswerTool
GoogleSearchTool
PythonInterpreterTool
SpeechToTextTool
UserInputTool
VisitWebpageTool
WebSearchTool
WikipediaSearchTool
class smolagents.WikipediaSearchTool
< 源 >( user_agent: str = 'Smolagents (myemail@example.com)' language: str = 'en' content_type: str = 'text' extract_format: str = 'WIKI' )
参数
- user_agent (
str
) — 用于识别项目的自定义用户代理字符串。根据维基百科 API 政策要求。请参阅:https://foundation.wikimedia.org/wiki/Policy:Wikimedia_Foundation_User-Agent_Policy - language (
str
, 默认"en"
) — 检索维基百科文章的语言。请参阅:http://meta.wikimedia.org/wiki/List_of_Wikipedias - content_type (
Literal["summary", "text"]
, 默认"text"
) — 要获取的内容类型。可以是“summary”表示简短摘要,或“text”表示全文。 - extract_format (
Literal["HTML", "WIKI"]
, 默认"WIKI"
) — 输出的提取格式。可以是"WIKI"
或"HTML"
。
搜索维基百科并返回所请求文章的摘要或全文,以及页面 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)")