首页
/ AgentSims 开源项目使用教程

AgentSims 开源项目使用教程

2024-09-13 08:51:04作者:庞队千Virginia

1. 项目介绍

AgentSims 是一个易于使用的开源基础设施,专为来自各个学科的研究人员设计,用于测试他们感兴趣的具体能力。该项目旨在通过模拟环境中的任务完成来评估大型语言模型(LLM)的能力,解决了现有评估方法的局限性,如评估能力受限、基准脆弱和指标不客观等问题。

2. 项目快速启动

2.1 环境准备

在开始之前,请确保您的系统满足以下要求:

  • Python 3.9 或更高版本
  • MySQL 8.0.31 或更高版本
  • 推荐在 MacOS 或 Linux 系统上部署以获得更好的稳定性

2.2 安装依赖

首先,克隆项目仓库:

git clone https://github.com/py499372727/AgentSims.git
cd AgentSims

安装所需的 Python 包:

pip install -r requirements.txt

2.3 配置 API Key

为了安全起见,API Key 没有包含在 Git 仓库中。请在 config 目录下创建 api_key.json 文件,并添加您的 API Key。例如:

{
  "gpt-4": "your-gpt-4-api-key",
  "gpt-3.5": "your-gpt-3.5-api-key"
}

2.4 初始化 MySQL

启动 MySQL 服务并初始化数据库:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
flush privileges;
create database `llm_account` default character set utf8mb4 collate utf8mb4_unicode_ci;
create database `llm_game` default character set utf8mb4 collate utf8mb4_unicode_ci;
create database `llm_game0001` default character set utf8mb4 collate utf8mb4_unicode_ci;
create database `llm_game0002` default character set utf8mb4 collate utf8mb4_unicode_ci;

2.5 启动服务器

运行以下命令启动服务器:

./restart.sh

当您在服务器终端看到 --------Server Started-------- 时,表示服务器已成功启动。

2.6 启动客户端

在浏览器中打开 client/index.html 文件以启动客户端。如果客户端未能正确打开,建议在 Python IDE 中右键点击 index.html 并选择“在浏览器中打开”。

当您在服务器终端看到 somebody linked 时,表示客户端已成功启动。

3. 应用案例和最佳实践

3.1 任务构建

研究人员可以通过添加代理和建筑物在交互式 GUI 上构建评估任务,或者通过几行代码部署和测试新的支持机制,如记忆系统、规划系统和工具使用系统。

3.2 评估目标和测量

在 AgentSims 中,评估是通过 QA 表单进行的。系统会每隔 k 个 tick 向目标代理提出一个评估问题。您可以在 config/eval.json 中自定义评估问题和测量方法。

例如:

{
  "id": "know pH",
  "target_nickname": "Alan",
  "query": "Are you acquainted with pH?",
  "measurement": "'Yes' in response",
  "interval": 1
}

3.3 运行模拟

您可以通过网页客户端上的按钮启动 tick 或 mayor,也可以通过以下命令启动:

python -u tick.py
python -u mayor.py

4. 典型生态项目

AgentSims 作为一个开放源码的沙盒,可以与其他大型语言模型评估工具和平台集成,如 Hugging Face 的 Transformers 库、OpenAI 的 API 等。这些工具和平台可以进一步扩展 AgentSims 的功能,提供更全面的评估和测试环境。


通过以上步骤,您可以快速启动并使用 AgentSims 进行大型语言模型的评估和测试。希望本教程能帮助您更好地理解和应用这一强大的开源工具。

热门项目推荐
相关项目推荐

项目优选

收起
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
33
24
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
830
0
redis-sdkredis-sdk
仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。
Cangjie
376
32
advanced-javaadvanced-java
Advanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。
JavaScript
75.92 K
19.09 K
qwerty-learnerqwerty-learner
为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers
TSX
15.62 K
1.45 K
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
19
2
杨帆测试平台杨帆测试平台
扬帆测试平台是一款高效、可靠的自动化测试平台,旨在帮助团队提升测试效率、降低测试成本。该平台包括用例管理、定时任务、执行记录等功能模块,支持多种类型的测试用例,目前支持API(http和grpc协议)、性能、CI调用等功能,并且可定制化,灵活满足不同场景的需求。 其中,支持批量执行、并发执行等高级功能。通过用例设置,可以设置用例的基本信息、运行配置、环境变量等,灵活控制用例的执行。
JavaScript
9
1
Yi-CoderYi-Coder
Yi Coder 编程模型,小而强大的编程助手
HTML
57
7
RuoYi-VueRuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
147
26
anqicmsanqicms
AnQiCMS 是一款基于Go语言开发,具备高安全性、高性能和易扩展性的企业级内容管理系统。它支持多站点、多语言管理,能够满足全球化跨境运营需求。AnQiCMS 提供灵活的内容发布和模板管理功能,同时,系统内置丰富的利于SEO操作的功能,帮助企业简化运营和内容管理流程。AnQiCMS 将成为您建站的理想选择,在不断变化的市场中保持竞争力。
Go
78
5