
Environnements de jeux en langue multi-agents pour LLMS
Chatarena est une bibliothèque qui fournit des environnements de jeux de langue multi-agents et facilite la recherche sur les agents LLM autonomes et leurs interactions sociales. Il fournit les fonctionnalités suivantes:

Essayez notre démo en ligne:
Exigences:
Installer avec PIP:
pip install chatarenaou installer à partir de la source:
pip install git+https://github.com/chatarena/chatarenaPour utiliser GPT-3 comme agent LLM, définissez votre clé API OpenAI:
export OPENAI_API_KEY= " your_api_key_here " Par défaut, pip install chatarena n'installera que les dépendances nécessaires aux fonctionnalités principales de Chatarena. Vous pouvez installer des dépendances facultatives avec les commandes suivantes:
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 Le moyen le plus rapide de voir Chatarena en action est via l'interface utilisateur Web de démonstration. Pour lancer la démo sur votre machine locale, vous installez d'abord la chatarena avec une dépendance de gradio supplémentaire, puis Git clone ce référentiel dans votre dossier local, et enfin appeler l' app.py dans le répertoire racine du référentiel:
pip install chatarena[gradio]
git clone https://github.com/chatarena/chatarena.git
cd chatarena
gradio app.pyCela lancera un serveur de démonstration pour Chatarena, et vous pouvez y accéder à partir de votre navigateur (port 8080).
Découvrez cette vidéo pour savoir comment utiliser l'interface utilisateur Web:
Pour une introduction au Framework Chatarena, veuillez vous référer à ce document. Pour une procédure pas à pas de la construction d'un nouvel environnement, vérifiez
Ici, nous fournissons un guide compact sur une configuration minimale pour exécuter le jeu et quelques conseils généraux sur la personnalisation.
Chargez Arena à partir d'un fichier de configuration - nous utilisons ici examples/nlp-classroom-3players.json dans ce référentiel à titre d'exemple:
arena = Arena . from_config ( "examples/nlp-classroom-3players.json" )
arena . run ( num_steps = 10 )Exécutez le jeu dans une interface CLI interactive:
arena . launch_cli ()Consultez cette vidéo pour apprendre à utiliser CLI: un guide plus détaillé sur la façon d'exécuter la boucle d'interaction principale avec un contrôle plus fin
Vous pouvez définir votre propre environnement en étendant la classe Environment . Voici les étapes générales:
type_name , puis ajoutez la classe à ALL_ENVIRONMENTS__init__ (ses arguments définiront la configuration correspondante) et l'initialisation des attributs de classestep des méthodesreset , get_observation , is_terminal et get_rewards Nous fournissons un tutoriel détaillé pour montrer comment définir un environnement personnalisé, en utilisant l'environnement Chameleon comme exemple.
Si vous souhaitez porter l'environnement d'une bibliothèque existante à Chatarena, consultez l'environnement PettingzooChess à titre d'exemple.
Un environnement de jeu linguistique multi-joueurs qui simule une conversation.
Basé sur la conversation, mais avec un modérateur qui contrôle la dynamique du jeu.
Un jeu de déduction sociale multi-joueurs. Il y a deux rôles dans le jeu, Chameleon et Non-Chameleon. Le sujet du mot secret sera d'abord révélé à tous les joueurs. Ensuite, le mot secret sera révélé aux non-chameleons. Le caméléon ne connaît pas la parole secrète. L'objectif du jeu dépend du rôle du joueur:
Un environnement de jeu d'échecs à deux joueurs qui utilise l'environnement d'échecs Pettingzoo.
Un environnement de jeu Tic-Tac-Toe à deux joueurs qui utilise l'environnement Pettingzoo Tictactoe. Différenant de l'environnement Moderator Conversation , cet environnement est motivé par des règles à code dur plutôt que par un modérateur LLM.
Nous accueillons des contributions pour améliorer et étendre la chatarena. Veuillez suivre ces étapes pour contribuer:
Veuillez vous assurer que votre code suit le style et la structure existants.
Si vous trouvez Chatarena utile pour vos recherches, veuillez citer notre référentiel (notre article Arxiv arrive bientôt):
@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} } ,
}Si vous avez des questions ou des suggestions, n'hésitez pas à ouvrir un problème ou à soumettre une demande de traction. Vous pouvez également nous contacter sur le serveur Farama Discord- https://discord.gg/vrtdmu9y8q
Bonne conversation!
Nous tenons à remercier nos sponsors pour avoir soutenu ce projet: