
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上與我們聯繫。
聊天愉快!
我們要感謝我們的讚助商支持該項目: