
LLM의 다중 에이전트 언어 게임 환경
Chatarena는 다중 에이전트 언어 게임 환경을 제공하고 자율 LLM 에이전트와 사회적 상호 작용에 대한 연구를 촉진하는 도서관입니다. 다음과 같은 기능을 제공합니다.

온라인 데모를 시도해보십시오.
요구 사항 :
PIP로 설치 :
pip install chatarena또는 소스에서 설치 :
pip install git+https://github.com/chatarena/chatarenaGPT-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가 행동하는 가장 빠른 방법은 데모 웹 UI를 통한 것입니다. 로컬 컴퓨터에서 데모를 시작하려면 먼저 추가 Gradio 종속성으로 Chatarena를 설치 한 다음이 저장소를 로컬 폴더에 복제 한 다음 마지막으로 저장소의 루트 디렉토리에서 app.py 호출하십시오.
pip install chatarena[gradio]
git clone https://github.com/chatarena/chatarena.git
cd chatarena
gradio app.py이렇게하면 Chatarena 용 데모 서버가 시작되며 브라우저 (포트 8080)에서 액세스 할 수 있습니다.
웹 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를 사용하는 방법을 배우려면이 비디오를 확인하십시오. CLI를 사용하는 방법 : 더 미세한 제어 기능을 사용하여 주요 상호 작용 루프를 실행하는 방법에 대한 자세한 안내서는 여기에서 찾을 수 있습니다.
Environment 클래스를 확장하여 자신의 환경을 정의 할 수 있습니다. 일반 단계는 다음과 같습니다.
type_name 설정 한 다음 ALL_ENVIRONMENTS 에 클래스를 추가하십시오.__init__ 메소드를 정의하여 클래스를 초기화하고 (인수는 해당 구성을 정의합니다) 클래스 속성 초기화.step 에서 게임 메커니즘을 구현하십시오reset , get_observation , is_terminal 및 get_rewards 와 같은 방법을 구현하여 게임 상태 및 보상을 처리합니다. Chameleon 환경을 예로 사용하여 맞춤형 환경을 정의하는 방법을 보여주는 자세한 자습서를 제공합니다.
기존 도서관의 환경을 Chatarena에 포트하려면 PettingzooChess 환경을 예로 들어 확인하십시오.
대화를 시뮬레이션하는 멀티 플레이어 언어 게임 환경.
대화를 기반으로하지만 게임 역학을 제어하는 중재자가 있습니다.
멀티 플레이어 소셜 공제 게임. 이 게임에는 카멜레온과 비-카멜레온의 두 가지 역할이 있습니다. 비밀 단어의 주제는 모든 선수들에게 먼저 공개 될 것입니다. 그런 다음 비밀 단어는 비 샤멜 레온에게 드러날 것입니다. 카멜레온은 비밀 단어를 모릅니다. 게임의 목표는 플레이어의 역할에 따라 다릅니다.
Pettingzoo Chess 환경을 사용하는 2 인 체스 게임 환경.
Pettingzoo Tictactoe 환경을 사용하는 2 인 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로 문의하십시오.
행복한 채팅!
이 프로젝트를 지원해 주신 후원자에게 감사의 말씀을 전합니다.