smolagents 文档
smolagents
并获得增强的文档体验
开始使用
smolagents

什么是 smolagents?
smolagents
是一个开源的 Python 库,旨在让用户能够仅用几行代码就极其轻松地构建和运行 Agent。
smolagents
的主要特性包括
✨ 简洁性:Agent 的逻辑代码量在千行左右。我们力求将抽象保持在原始代码之上的最简形式!
🧑💻 对代码 Agent 的一流支持:CodeAgent
以代码形式编写其动作(而非“使用 Agent 编写代码”)来调用工具或执行计算,从而实现自然的组合性(函数嵌套、循环、条件判断)。为确保安全性,我们支持通过 E2B 或 Docker 在沙盒环境中执行。
📡 支持常见的工具调用 Agent:除了 CodeAgent,ToolCallingAgent
还支持常规的基于 JSON/文本的工具调用,适用于偏好该范式的场景。
🤗 与 Hub 集成:以 Gradio Spaces 的形式,无缝地在 Hub 上共享和加载 Agent 和工具。
🌐 模型无关:轻松集成任何大型语言模型(LLM),无论它托管在 Hub 上并通过推理服务提供商提供服务,还是通过 OpenAI、Anthropic 等 API 访问,或通过 LiteLLM 集成许多其他模型,抑或是使用 Transformers 或 Ollama 在本地运行。使用您偏好的 LLM 来驱动 Agent 既直接又灵活。
👁️ 模态无关:除了文本,Agent 还可以处理视觉、视频和音频输入,拓宽了可能应用的范围。请查看此教程了解视觉处理。
🛠️ 工具无关:您可以使用来自任何 MCP 服务器的工具,来自 LangChain 的工具,甚至可以把 Hub Space 作为工具使用。
💻 命令行工具:附带命令行实用程序(smolagent、webagent),可快速运行 Agent,无需编写样板代码。
快速入门
只需几分钟即可开始使用 smolagents!本指南将向您展示如何创建并运行您的第一个 Agent。
安装
使用 pip 安装 smolagents
pip install smolagents[toolkit] # Includes default tools like web search
创建您的第一个 Agent
这是一个创建和运行 Agent 的最小示例
from smolagents import CodeAgent, InferenceClientModel
# Initialize a model (using Hugging Face Inference API)
model = InferenceClientModel() # Uses a default model
# Create an agent with no tools
agent = CodeAgent(tools=[], model=model)
# Run the agent with a task
result = agent.run("Calculate the sum of numbers from 1 to 10")
print(result)
就是这样!您的 Agent 将使用 Python 代码来解决任务并返回结果。
添加工具
让我们通过添加一些工具来使我们的 Agent 更有能力
from smolagents import CodeAgent, InferenceClientModel, DuckDuckGoSearchTool
model = InferenceClientModel()
agent = CodeAgent(
tools=[DuckDuckGoSearchTool()],
model=model,
)
# Now the agent can search the web!
result = agent.run("What is the current weather in Paris?")
print(result)
使用不同的模型
您可以在您的 Agent 中使用各种模型
# Using a specific model from Hugging Face
model = InferenceClientModel(model_id="meta-llama/Llama-2-70b-chat-hf")
# Using OpenAI/Anthropic (requires smolagents[litellm])
from smolagents import LiteLLMModel
model = LiteLLMModel(model_id="gpt-4")
# Using local models (requires smolagents[transformers])
from smolagents import TransformersModel
model = TransformersModel(model_id="meta-llama/Llama-2-7b-chat-hf")
后续步骤
- 在安装指南中学习如何使用各种模型和工具设置 smolagents
- 查看导览以了解更多高级功能
- 了解如何构建自定义工具
- 探索安全代码执行
- 了解如何创建多 Agent 系统