chatarena  by Farama-Foundation

Multi-agent environment for LLM research

Created 2 years ago
1,504 stars

Top 27.5% on SourcePulse

GitHubView on GitHub
Project Summary

ChatArena provides a framework for developing and benchmarking multi-agent language game environments for LLMs, enabling research into AI communication and collaboration. It offers a flexible abstraction for defining players and interactions, a suite of language game environments, and user-friendly Web UI and CLI interfaces for agent development.

How It Works

ChatArena structures interactions using a Markov Decision Process (MDP) framework. An "Arena" encapsulates an environment and players, managing the game loop and providing interfaces. "Environments" define game state and logic, rendering observations as natural language. "Language Backends" provide LLM capabilities, processing text inputs and generating responses, which act as "Player" agents' actions.

Quick Start & Requirements

  • Install: pip install chatarena
  • Requirements: Python >= 3.7. OpenAI API key is optional for using GPT models.
  • Optional Dependencies: pip install chatarena[all_backends], chatarena[all_envs], or chatarena[all] for broader LLM and environment support.
  • Demo: Launch locally with pip install chatarena[gradio] and gradio app.py after cloning the repository.
  • Documentation: For Developers

Highlighted Details

  • Supports multiple LLM backends (OpenAI, Anthropic, Cohere, Hugging Face).
  • Includes diverse environments: Conversation, NLP Classroom, Rock-paper-scissors, Tic-tac-toe, Chameleon, and PettingZoo integrations.
  • Allows custom environment creation by extending the Environment class.
  • Provides Python API for programmatic game execution and CLI for interactive use.

Maintenance & Community

  • Active development with contributions welcomed.
  • Contact via GitHub issues or the Farama Discord server: https://discord.gg/Vrtdmu9Y8Q.
  • Sponsored by SEQUOIA and Shixiang Capital.

Licensing & Compatibility

  • License: Apache 2.0.
  • Compatibility: Permissive license allows for commercial use and integration with closed-source applications.

Limitations & Caveats

The project is version 0.1, indicating potential for breaking changes. While an arXiv paper is mentioned as forthcoming, no direct link is provided in the README.

Health Check
Last Commit

1 month ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
8 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.