
Entornos de juego de idiomas múltiples para LLM
Chatarena es una biblioteca que proporciona entornos de juego de idiomas de varios agentes y facilita la investigación sobre los agentes autónomos de LLM y sus interacciones sociales. Proporciona las siguientes características:

Prueba nuestra demostración en línea:
Requisitos:
Instalar con PIP:
pip install chatarenao instalar desde la fuente:
pip install git+https://github.com/chatarena/chatarenaPara usar GPT-3 como agente de LLM, configure su tecla API OpenAI:
export OPENAI_API_KEY= " your_api_key_here " De manera predeterminada, pip install chatarena solo instalará dependencias necesarias para las funcionalidades centrales de Chatarena. Puede instalar dependencias opcionales con los siguientes comandos:
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 La forma más rápida de ver a Chatarena en acción es a través de la interfaz de usuario web de demostración. Para iniciar la demostración en su máquina local, primero PIP instale chatarena con dependencia adicional de Gradio, luego git clone este repositorio a su carpeta local y finalmente llame a la app.py en el directorio raíz del repositorio:
pip install chatarena[gradio]
git clone https://github.com/chatarena/chatarena.git
cd chatarena
gradio app.pyEsto iniciará un servidor de demostración para Chatarena, y puede acceder a él desde su navegador (puerto 8080).
Mira este video para aprender a usar la interfaz de usuario web:
Para obtener una introducción al marco de Chatarena, consulte este documento. Para un tutorial de construir un nuevo entorno, verifique
Aquí proporcionamos una guía compacta sobre una configuración mínima para ejecutar el juego y algunos consejos generales sobre personalización.
Cargar Arena desde un archivo de configuración: aquí usamos examples/nlp-classroom-3players.json en este repositorio como ejemplo:
arena = Arena . from_config ( "examples/nlp-classroom-3players.json" )
arena . run ( num_steps = 10 )Ejecute el juego en una interfaz CLI interactiva:
arena . launch_cli ()Mira este video para aprender a usar CLI: una guía más detallada sobre cómo ejecutar el bucle de interacción principal con control de grano más fino se puede encontrar aquí
Puede definir su propio entorno extendiendo la clase de Environment . Aquí están los pasos generales:
type_name , luego agregue la clase a ALL_ENVIRONMENTS__init__ (sus argumentos definirán la configuración correspondiente) e inicializando los atributos de la clasestep métodosreset , get_observation , is_terminal Y get_rewards Proporcionamos un tutorial detallado para demostrar cómo definir un entorno personalizado, utilizando el entorno Chameleon como ejemplo.
Si desea transferir el entorno de una biblioteca existente a Chatarena, consulte el entorno PettingzooChess como ejemplo.
Un entorno de juego de idiomas múltiples que simula una conversación.
Basado en la conversación, pero con un moderador que controla la dinámica del juego.
Un juego de deducción social de múltiples jugadores. Hay dos roles en el juego, camaleón y no chameleo. El tema de la palabra secreta se revelará por primera vez a todos los jugadores. Entonces la palabra secreta se revelará a los no chamelones. El camaleón no conoce la palabra secreta. El objetivo en el juego depende del papel del jugador:
Un entorno de juego de ajedrez de dos jugadores que utiliza el entorno de ajedrez Pettingzoo.
Un entorno de juego Tic-Tac-Toe de dos jugadores que utiliza el entorno Pettingzoo Tictactoe. A diferencia del entorno Moderator Conversation , este entorno está impulsado por reglas codificadas en lugar de un moderador LLM.
Agradecemos contribuciones a mejorar y extender a Chatarena. Siga estos pasos para contribuir:
Asegúrese de que su código siga el estilo y la estructura existentes.
Si encuentra útil para Chatarena para su investigación, cite nuestro repositorio (nuestro artículo ARXIV llegará pronto):
@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 tiene alguna pregunta o sugerencia, no dude en abrir un problema o enviar una solicitud de extracción. También puede contactarnos en Farama Discord Server- https://discord.gg/vrtdmu9y8q
¡Feliz charla!
Nos gustaría agradecer a nuestros patrocinadores por apoyar este proyecto: