
部署比较简单,参考 github 的说明做就可以。下面做简要说明。
〇. 准备
- python 环境安装,建议版本 3.9.12。推荐使用 conda 安装环境
ini
conda create -n genagent python=3.9.12 pip
conda activate genagent
- 申请 openai 的 api-key
platform.openai.com/settings/or...
- 下载代码
git clone https://github.com/joonspk-research/generative_agents.git
网络问题可以试试:gitclone.com/github.com/...
- 创建配置文件,在
reverie/backend_server
目录下创建utils.py
,内容如下:
ini
# 替换你的 api-key
openai_api_key = "<Your OpenAI API>"
# Put your name
key_owner = "<Name>"
maze_assets_loc = "../../environment/frontend_server/static_dirs/assets"
env_matrix = f"{maze_assets_loc}/the_ville/matrix"
env_visuals = f"{maze_assets_loc}/the_ville/visuals"
fs_storage = "../../environment/frontend_server/storage"
fs_temp_storage = "../../environment/frontend_server/temp_storage"
collision_block_id = "32125"
# Verbose
debug = True
- 安装依赖库,代码根目录执行
pip install -r requirements.txt
一. 启动
- 启动 environment 服务,系统是一个 Django 服务,默认端口是 8000,需要检查系统不要占用。
bash
cd environment/frontend_server
python manage.py runserver
启动完成后,打开浏览器访问 http://localhost:8000
,看到 Your environment server is up and running
表示启动成功了。
- 启动 simulation 服务
bash
cd reverie/backend_server
python reverie.py
# 启动完成后控制台会显示,Enter the name of the forked simulation:
# 输入下面的脚本表示启动 3 个人物角色,有很多个模板,后面看代码的时候再解释。
base_the_ville_isabella_maria_klaus
# 接下来会显示 "Enter the name of the new simulation: "
# 随便输入一个名字就好
test-simulation
# 然后控制台会显示如下信息。
Enter option:
- 运行和保存 Simulation
浏览器打开 http://localhost:8000/simulator_home
,就可以看到一个小镇的地图了,下面有 3 个角色列表。地图可以用键盘方向键移动。到现在所有的环境都已经准备好了,下面就可以开始模拟多 agnent 互动了。
在刚才的控制台 Enter option:
中输入命令:
bash
# 100,表示运行 100 步,每步 10s
run 100
# 开始运行后,地图上的 agent 就会开始移动了,结束后控制台又会显示
Enter option:
# 还有两个命令
# 不保存退出
exit
# 保存退出,保存的 simulation 下次启动时可以继续加载,比如我们这次创建的 simulation 叫 test-simulation
fin
- 重放之前保存的 simulation
直接在浏览器打开 http://localhost:8000/replay/<simulation-name>/<starting-time-step>
- 演示 simulation
上面的重放的 simulation 文件包含了调试信息等内容,没有做压缩,如果要做演示,可以提前压缩文件。执行 reverie\compress_sim_storage.py
的 compress 函数可以压缩文件,用于后续演示。
用浏览器访问呢 http://localhost:8000/demo/<simulation-name>/<starting-time-step>/<simulation-speed>
打开演示文件
二. FAQ
- 没办法直接访问 openai 怎么办?
如果没有 openai 访问条件,可以直接运行源代码中提供的 simulation 运行,查看效果。 - 有演示环境吗?
25个角色的演示版本地址:https://reverie.herokuapp.com/arXiv_Demo/