
LLMS的多代理语言游戏环境
Chatarena是一个提供多代理语言游戏环境的图书馆,并促进了有关自主LLM代理商及其社交互动的研究。它提供以下功能:

尝试我们的在线演示:
要求:
使用PIP安装:
pip install chatarena或从来源安装:
pip install git+https://github.com/chatarena/chatarena要使用GPT-3作为LLM代理,请设置OpenAI API密钥:
export OPENAI_API_KEY= " your_api_key_here " 默认情况下pip install chatarena Chatarena核心功能所需的依赖项。您可以使用以下命令安装可选依赖项:
pip install chatarena[all_backends] # install dependencies for all supported backends: anthropic, cohere, huggingface, etc.
pip install chatarena[all_envs] # install dependencies for all environments, such as pettingzoo
pip install chatarena[all] # install all optional dependencies for full functionality看到Chatarena的最快方法是通过演示Web UI。要在本地计算机上启动演示,您首先要使用额外的gradio依赖性安装chatarena,然后将此存储库克隆到您的本地文件夹,最后在存储库的根目录中调用app.py :
pip install chatarena[gradio]
git clone https://github.com/chatarena/chatarena.git
cd chatarena
gradio app.py这将启动用于Chatarena的演示服务器,您可以从浏览器(端口8080)访问它。
查看此视频以了解如何使用Web UI:
有关Chatarena框架的介绍,请参阅此文档。要进行构建新环境的演练,请检查
在这里,我们提供了最小设置的紧凑指南,以运行游戏和一些有关自定义的一般建议。
来自配置文件的负载Arena - 在这里,我们在此存储库中使用examples/nlp-classroom-3players.json作为示例:
arena = Arena . from_config ( "examples/nlp-classroom-3players.json" )
arena . run ( num_steps = 10 )在交互式CLI界面中运行游戏:
arena . launch_cli ()查看此视频以了解如何使用CLI:可以在此处找到有关如何使用Finer Grean Control运行主要互动循环的更详细的指南
您可以通过扩展Environment类来定义自己的环境。这是一般步骤:
type_name继承ALL_ENVIRONMENTS定义类__init__方法初始化类(其参数将定义相应的配置)并初始化类属性step中实现游戏机制reset , get_observation , is_terminal和get_rewards类的方法来处理游戏状态和奖励我们提供了一个详细的教程,以使用Chameleon环境为例,演示如何定义自定义环境。
如果您想将现有库的环境移植到Chatarena,请查看PettingzooChess环境。
模拟对话的多玩家语言游戏环境。
基于对话,但使用主持人控制游戏动力学。
一个多玩家的社交扣除游戏。游戏中有两个角色,Chameleon和Non-Chameleon。秘密单词的主题将首先向所有玩家展示。然后,秘密单词将被揭示给非chameleons。变色龙不知道秘密单词。游戏中的目标取决于玩家的角色:
使用Pettingzoo国际象棋环境的两人国际象棋游戏环境。
使用Pettingzoo Tictactoe环境的两种玩家TIC-TAC-TOE游戏环境。与Moderator Conversation环境不同,此环境是由硬编码规则而不是LLM主持人驱动的。
我们欢迎捐款改善和扩展Chatarena。请按照以下步骤进行贡献:
请确保您的代码遵循现有样式和结构。
如果您发现Chatarena对您的研究有用,请引用我们的存储库(我们的Arxiv论文即将推出):
@software { ChatArena ,
author = { Yuxiang Wu, Zhengyao Jiang, Akbir Khan, Yao Fu, Laura Ruis, Edward Grefenstette, and Tim Rocktäschel } ,
title = { ChatArena: Multi-Agent Language Game Environments for Large Language Models } ,
year = { 2023 } ,
publisher = { GitHub } ,
journal = { GitHub repository } ,
version = { 0.1 } ,
howpublished = { url{https://github.com/chatarena/chatarena} } ,
}如果您有任何疑问或建议,请随时打开问题或提交拉动请求。您也可以在Farama Discord Server- https://discord.gg/vrtdmu9y8q上与我们联系。
聊天愉快!
我们要感谢我们的赞助商支持该项目: