Transformers Agents 2.0 release notes / what's new
Hugging Face 发布了 Transformers Agents 2.0,这是一个模块化框架,使大语言模型 (LLMs) 能够使用工具并根据过去的观察进行迭代以解决复杂任务。此次更新引入了具备多步推理能力的新型智能体类型,这使得一个开源的 Llama-3-70B-Instruct 智能体在 GAIA 排行榜上超越了多个基于 GPT-4 的智能体。
Core Design Philosophy
Transformers Agents 2.0 构建于两个主要设计目标之上:清晰度和模块化。该框架最大限度地减少了抽象,以确保错误日志和属性保持透明且易于检查。它在概念上将智能体系统(车辆)与 LLM 引擎(动力源)分离,允许用户使用任何底层的 LLM 来创建任何类型的智能体。
Key Framework Elements
- Tool: 一个用于实现特定操作的类。它由一个可调用的
forward方法和包括name,descriptions,inputs, 和output_type在内的属性组成,这些属性用于为 LLM 的提示词动态生成使用手册。 - Toolbox: 一组预实例化的工具,提供给智能体以避免在智能体设置期间重新初始化工具的开销。
- CodeAgent: 一个基础智能体,它将操作生成为单个 Python 代码块,而没有迭代先前观察的能力。
- ReactAgent: 遵循 "Thought → Action → Observation" 循环的智能体。这有两种变体:
ReactCodeAgent(生成 Python 代码块)和ReactJsonAgent(生成 JSON 代码块)。
Agent Workflows and Execution
智能体通过以下特定过程运行:在提示词中提供工具使用信息,从 LLM 输出中解析工具调用(通过代码或 JSON),执行这些调用,并为迭代式智能体维护先前工具调用和观察的记忆,从而使 LLM 能够利用工具:
Self-Correcting Retrieval-Augmented Generation (RAG)
Transformers Agents 2.0 可用于构建自我修正的 RAG 系统。通过为智能体提供一个接受动态参数(例如特定知识库来源)的检索工具,智能体可以根据观察结果调整其搜索策略。例如,如果受限搜索没有返回任何文档,ReactJsonAgent 可以自动决定扩展搜索到所有来源以查找所需信息。
Multi-Agent Orchestration for Web Browsing
复杂任务可以通过将专门的智能体封装为更高层级智能体工具来解决。Hugging Face 通过创建一个专门的 "web surfer" 智能体(由 Cohere 的 Command-R+ 提供动力)来处理网页浏览的复杂性。这个 web surfer 随后被封装在 SearchTool 中并提供给主要任务解决智能体(由 Llama-3-70B-Instruct 提供动力),从而允许高层级智能体将信息收集工作委派给专家,同时专注于最终的推理和计算。
Performance and Benchmarking
LLM Engine Comparison
使用 agents_reasoning_benchmark(该基准测试利用了 HotpotQA, GSM8K, 和 GAIA 数据集上的计算器和基础搜索工具),Hugging Face 对比了几个引擎:
- Llama-3-70B-Instruct: 表现与 GPT-4 Turbo 持平,并在开源模型中处于领先地位。由于其强大的编码能力,它在
ReactCodeAgent中表现尤为出色。 - Mixtral-8x7B: 在基于代码的智能体中表现不如基于 JSON 的智能体,因为它更频繁地无法生成有效的代码。
GAIA Leaderboard Results
为了应对完整的 GAIA 基准测试,Hugging Face 实现了一个使用 ReactCodeAgent 并由 Llama-3-70B-Instruct 提供动力的多模态智能体。该智能体配备了一个工具箱,包括 SearchTool (web browser), TextInspectorTool (document reader), SpeechToTextTool (using distil-whisper), 和 VisualQATool (using Idefics2-8b-chatty)。
这一配置在 GAIA 排行榜上获得了第 4 名,超越了许多基于 GPT-4 的智能体,并确立了其作为开源类别中的顶级竞争者地位。
Future Roadmap
Hugging Face 计划通过以下开发来扩展该框架:
- 通过 Hub 推送和加载完整的智能体 (extending beyond current tool sharing)。
- 增强的图像处理工具。
- 高级长期记忆管理。
- 改进的多智能体协作能力。
Note: transformers.agents 已升级为名为 smolagents 的独立库。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch