为ChatGPT添加记忆、反思能力等,斯坦福爆火项目开源啦!-开放智能

为ChatGPT添加记忆、反思能力等,斯坦福爆火项目开源啦!

Generative Agents详细介绍

早在今年4月,斯坦福曾发表一篇名为《Generative Agents: Interactive Simulacra of Human Behavior》的论文,主要展示了为ChatGPT(GPT-3.5-turbo版本)添加记忆、规划、沟通和反思的能力,让其像人类一样自然活动、社交、成长。

现在,斯坦福在github开源了该项目,希望为企业、个人开发者打开思路,开发更智能的生成式AI代理并将其应用在实际业务中,游戏领域是一个不错的应用场景。

事实上,文本自动生成游戏NPC角色的inworld.ai,提供的服务与该项目类似。其通过文本生成的角色具备记忆、人物背景、情绪、情商、执行力、肢体语言等拟人化特征,极大增强了游戏的可玩性、趣味性和开发效率。目前,很多知名游戏开发商在使用inworld.ai的服务。

开源地址:https://github.com/joonspk-research/generative_agents

论文地址:https://arxiv.org/abs/2304.03442

在线测试:https://reverie.herokuapp.com/arXiv_Demo/

Generative Agents实验介绍

斯坦福在一个城镇沙盒环境中,通过ChatGPT构建了25名生成代理(Generative Agents),他们拥有不同的姓名、年龄、个性、职业、爱好、动作等。

每天做的事情也各不相同,包括通用动作起床、睡觉、吃早饭等;艺术家会画画,作家会写作,演员会进行喜剧表演等。主要行为包括:约会聚餐、参加舞会、写日记、定期反思、制定人生发展计划等。

沙盒环境的物品包括咖啡馆、商店、房子、酒吧、商店、桌子、书架、鲜花、厨房、壁橱、浴室等海量物品,基本上与真实世界一样。

图片[1]-为ChatGPT添加记忆、反思能力等,斯坦福爆火项目开源啦!-开放智能

打开网易新闻 查看更多图片

在模拟的过程中,研究人员可以向每一位生成代理提问题、干预他们的计划等,以查看AI的各项能力表现。

经过多天模拟之后,斯坦福发现了5个AI惊人的能力:1)AI自己建立了记忆体系并定期进行深层次反思,从而获得对新鲜事物的见解;2)AI之间建立了友谊并记住了彼此;

3)AI之间学会了相互协调;4)AI之间学会了共享信息;5)AI具备了定制和修改计划的能力。

图片[2]-为ChatGPT添加记忆、反思能力等,斯坦福爆火项目开源啦!-开放智能

总之,这25名生成代理具备了人类一样的思维能力:不想帮助人时会直接说拒绝,心情不好时会通过写日记来缓解,举办派对时只会邀请志同道合的人参加。这从另一面展示了生成式AI强大的一面。

如何配置Generative Agents

用户想设置开发环境,需要生成一个包含OpenAI API密钥的utils.py文件,并下载必要的开发包。

1、Generate Utils File使用方法

在reverie/backend_server文件夹(reverie.py)中,创建一个名为utils.py的新文件,并将以下代码复制到文件中:

图片[3]-为ChatGPT添加记忆、反思能力等,斯坦福爆火项目开源啦!-开放智能

打开网易新闻 查看更多图片

把“Your OpenAI API”替换为你的OpenAI API密钥,“name”替换为你的名字。

2、安装requirements.txt文件中列出的所有内容。

3、启动Django环境服务器,在命令中导航environment/frontend_server(这是manage.py所在的位置)。然后运行以下命令:

然后,在浏览器上输入http://localhost:8000/。如果您看到一条消息 显示“您的环境服务器已启动并正在运行”,则表示服务器已开始运行。

4、启动模拟服务器,打开另一个命令行,导航至reverie/backend_server并运行reverie.py。

图片[4]-为ChatGPT添加记忆、反思能力等,斯坦福爆火项目开源啦!-开放智能

当出现提示符,询问以下内容:“输入模拟的名称:“.要启动包含Isabella Rodriguez、Maria Lopez和Klaus Mueller的3-agent模拟,输入以下内容:

然后,提示将询问“输入新模拟的名称:“.输入任何名称以表示当前模拟。

图片[5]-为ChatGPT添加记忆、反思能力等,斯坦福爆火项目开源啦!-开放智能

5、运行和保存仿真模拟,在浏览器上输入http://localhost:8000/simulator_home。

已经可以看到小镇的模拟地图,可以使用键盘箭头在地图上移动。要运行模拟,可以在模拟服务器中,输入以下命令以响应提示“Enter option”:

注意,需要将

替换为一个整数,该整数指示你想要模拟的游戏步骤数。例如,如果想模拟100个游戏步骤,应该输入run 100。一个游戏步骤代表游戏中的10秒钟。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容