AgentSims 开源项目使用教程
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 进行大型语言模型的评估和测试。希望本教程能帮助您更好地理解和应用这一强大的开源工具。
- CangjieCommunity为仓颉编程语言开发者打造活跃、开放、高质量的社区环境Markdown00
- redis-sdk仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。Cangjie032
- 每日精选项目🔥🔥 推荐每日行业内最新、增长最快的项目,快速了解行业最新热门项目动态~ 🔥🔥02
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX022
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML07
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript085
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- CommunityCangjie-TPC(Third Party Components)仓颉编程语言三方库社区资源汇总05
- Bbrew🍺 The missing package manager for macOS (or Linux)Ruby01
- byzer-langByzer(以前的 MLSQL):一种用于数据管道、分析和人工智能的低代码开源编程语言。Scala04