huggingface/smolagents

🤗 smolagents: a barebones library for agents that think in code.

解决的问题

smolagents 是一个轻量级库,旨在构建能够通过编写和运行 Python 代码来执行任务的强力 AI 代理。它简化了创建模型无关、工具无关和模态无关代理的过程,减少了维护代码执行和系统提示格式一致性的复杂性。

工作原理

该库提供两种主要代理类型:CodeAgent 将其操作作为 Python 代码片段(使用 ReAct 循环)编写,而 ToolCallingAgent 则使用标准的 JSON/文本块作为操作。CodeAgent 将工具调用视为 Python 函数调用,允许其在单个操作中执行复杂操作(如循环),据报告可减少 30% 的 LLM 调用,并在困难基准测试中提升性能。

为确保安全,该库支持在沙箱环境(如 E2B、Blaxel、Modal 或 Docker)中执行代码,因为内置的本地执行器并非安全边界。

适用人群

希望使用最小化、无术语的框架构建代理系统而无需复杂抽象的开发者,以及希望利用开源模型进行代理工作流的开发者。

主要亮点

  • 代码优先操作:代理可以编写 Python 代码与工具交互,提高效率和性能。
  • 模型无关:通过 Hugging Face Hub、本地 transformersollama 模型、OpenAI、Anthropic 等,支持任何 LLM,可通过 LiteLLM 实现。
  • 工具无关:可与 MCP 服务器、LangChain 工具和 Hugging Face Hub Spaces 集成。
  • 多模态支持:支持文本、视觉、视频和音频输入。
  • Hub 集成:可直接从 Hugging Face Hub 共享和拉取工具或代理。
  • CLI 工具:包含用于通用任务的 smolagent 和使用 Helium 进行网页浏览任务的 webagent

相关

  • Dispatch
  • 项目
  • 项目
  • 项目
  • 项目