终极指南:如何使用AgentBench函数调用版本进行LLM智能体多任务评估

【免费下载链接】AgentBench A Comprehensive Benchmark to Evaluate LLMs as Agents (ICLR'24) 【免费下载链接】AgentBench 项目地址: https://gitcode.com/gh_mirrors/ag/AgentBench

AgentBench是一个全面的基准测试框架,旨在评估大型语言模型(LLMs)作为智能体在各种真实环境中的性能。最新的函数调用版本基于AgentRL,提供了端到端的多任务评估能力,让开发者能够轻松测试和比较不同LLM智能体的表现。

为什么选择AgentBench函数调用版本?

AgentBench函数调用版本带来了多项关键改进,使其成为评估LLM智能体的理想选择:

  • 函数调用风格提示:采用更结构化的交互方式,提升任务执行的准确性和可靠性
  • 全容器化部署:简化环境配置,确保评估的一致性和可重复性
  • 多任务支持:涵盖多种实际应用场景,全面评估LLM智能体能力

AgentBench多环境挑战与架构 AgentBench展示了LLM智能体面临的各种现实世界挑战和8种不同环境

AgentBench的核心架构解析

了解AgentBench的架构对于有效使用该框架至关重要。其核心组件包括:

  • Agent Server:管理不同类型的智能体
  • Task Server:处理任务分配和执行
  • Task Controller:协调多个任务工作器
  • Assigner:负责任务分配和评估调度

AgentBench系统架构 AgentBench的系统架构展示了各组件如何协同工作

支持的任务环境一览

AgentBench函数调用版本支持以下关键任务环境,每个环境都针对特定类型的智能体能力进行评估:

  • alfworld (AF):家庭环境中的具身任务
  • dbbench (DB):数据库操作任务
  • knowledgegraph (KG):知识图谱查询任务
  • os_interaction (OS):操作系统交互任务
  • webshop (WS):网络购物任务

这些环境覆盖了从基础操作到复杂决策的广泛能力范围,为LLM智能体提供了全面的评估。

环境统计数据与评估指标

AgentBench提供了详细的环境统计数据,帮助用户了解每个任务的复杂性和评估指标:

AgentBench环境统计数据 AgentBench中8个环境的统计数据和指标,包括成功率、平均交互轮次等关键信息

主要指标包括:

  • 成功率(SR):智能体成功完成任务的比例
  • 平均轮次(#Avg. Turn):完成单个任务所需的交互次数
  • 开发集和测试集规模:提供的查询样本数量和预期交互总轮次

快速开始:一步部署所有任务

AgentBench提供了便捷的Docker Compose设置,让您可以一键启动所有支持的任务:

# 克隆仓库
git clone https://gitcode.com/gh_mirrors/ag/AgentBench
cd AgentBench

# 构建所需的Docker镜像
docker pull mysql:8
docker build -t local-os/default -f ./data/os_interaction/res/dockerfiles/default data/os_interaction/res/dockerfiles
docker build -t local-os/packages -f ./data/os_interaction/res/dockerfiles/packages data/os_interaction/res/dockerfiles
docker build -t local-os/ubuntu -f ./data/os_interaction/res/dockerfiles/ubuntu data/os_interaction/res/dockerfiles

# 启动服务栈
docker compose -f extra/docker-compose.yml up

此命令将下载或构建必要的Docker镜像,并启动包括AgentRL控制器、各任务工作器、freebase服务器和Redis服务器在内的所有服务。

⚠️ 注意:webshop环境需要约16GB的RAM才能启动,而alfworld的当前实现存在内存和磁盘空间泄漏问题,直到任务工作器重启。运行前请确保您的机器有足够的资源。

配置智能体与任务

1. 安装依赖

conda create -n agent-bench python=3.9
conda activate agent-bench
pip install -r requirements.txt

2. 配置智能体

configs/agents/openai-chat.yaml中填写您的OpenAI API密钥,例如使用gpt-3.5-turbo-0613

# 示例配置
model: gpt-3.5-turbo-0613
api_key: "your-api-key-here"
temperature: 0.7

使用以下命令检查智能体配置是否正确:

python -m src.client.agent_test --config configs/agents/api_agents.yaml --agent gpt-3.5-turbo-0613

3. 启动任务服务器

# 完整版本
python -m src.start_task -a

# 轻量级版本(适合笔记本电脑/内存有限的情况)
python -m src.start_task -a --config configs/start_task_lite.yaml

4. 启动分配器

# 完整评估
python -m src.assigner

# 轻量级评估
python -m src.assigner --config configs/assignments/lite.yaml

评估结果与排行榜

AgentBench提供了详细的评估结果,展示了不同模型在测试集上的表现。以下是API LLMs和开源LLMs的比较:

AgentBench评估结果 AgentBench测试集(标准)结果显示了顶级商业LLM与开源LLM之间的性能差距

通过AgentRL训练的开源LLM表现尤为突出:

AgentRL训练结果 基于AgentRL训练的开源LLM在各项任务中表现优异

进阶配置与扩展

AgentBench设计为可扩展的框架,您可以通过以下方式进一步定制和扩展:

  • 添加新任务:参考扩展指南了解如何添加自定义任务
  • 调整评估参数:修改配置文件configs/assignments/default.yaml来自定义评估参数
  • 部署本地知识图谱服务:按照项目文档设置本地Freebase服务,提高KG任务的稳定性

资源消耗参考

不同任务的资源需求各不相同,以下是单个task_worker的大致资源消耗:

任务名称 启动速度 内存消耗
webshop ~3分钟 ~15G
mind2web ~5分钟 ~1G
db ~20秒 < 500M
alfworld ~10秒 < 500M
os ~5秒 < 500M
kg ~5秒 < 500M

根据这些信息,您可以更好地规划和分配系统资源。

总结

AgentBench函数调用版本基于AgentRL提供了一个强大而灵活的框架,用于评估LLM作为智能体的能力。通过其全容器化部署、多任务支持和详细的评估指标,开发者可以全面了解不同LLM模型在各种实际场景中的表现。

无论是研究人员希望比较不同模型的性能,还是开发者想要优化自己的LLM智能体,AgentBench都提供了所需的工具和资源。立即开始使用AgentBench,体验LLM智能体评估的便捷与强大!

要了解更多详细信息,请查阅项目文档:

通过AgentBench,开启您的LLM智能体评估之旅,推动AI智能体技术的发展与应用!

【免费下载链接】AgentBench A Comprehensive Benchmark to Evaluate LLMs as Agents (ICLR'24) 【免费下载链接】AgentBench 项目地址: https://gitcode.com/gh_mirrors/ag/AgentBench

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐