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 进行大型语言模型的评估和测试。希望本教程能帮助您更好地理解和应用这一强大的开源工具。
- 国产编程语言蓝皮书《国产编程语言蓝皮书》-编委会工作区017
- nuttxApache NuttX is a mature, real-time embedded operating system (RTOS).C00
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX027
- 每日精选项目🔥🔥 01.17日推荐:一个开源电子商务平台,模块化和 API 优先🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~026
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie045
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython05
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0108
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09