
Multi-Agent-Sprachspielumgebungen für LLMs
Chatarena ist eine Bibliothek, die Sprachspielumgebungen mit mehreren Agenten bietet und die Erforschung autonomer LLM-Agenten und deren soziale Interaktionen erleichtert. Es bietet die folgenden Funktionen:

Probieren Sie unsere Online -Demo aus:
Anforderungen:
Mit PIP einbauen:
pip install chatarenaoder aus Quelle installieren:
pip install git+https://github.com/chatarena/chatarenaUm GPT-3 als LLM-Agent zu verwenden, setzen Sie Ihren OpenAI-API-Schlüssel:
export OPENAI_API_KEY= " your_api_key_here " Standardmäßig installiert pip install chatarena nur Abhängigkeiten, die für die Kernfunktionen von Chatarena erforderlich sind. Sie können optionale Abhängigkeiten mit den folgenden Befehlen installieren:
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 Der schnellste Weg, um Chatarena in Aktion zu sehen, ist die Demo -Web -Benutzeroberfläche. Um die Demo auf Ihrem lokalen Computer zu starten, installieren Sie zuerst PIP Chatarena mit zusätzlicher Abhängigkeit von Gradio, dann klonen Sie dieses Repository in Ihren lokalen Ordner und rufen Sie schließlich die app.py im Root -Verzeichnis des Repositorys an:
pip install chatarena[gradio]
git clone https://github.com/chatarena/chatarena.git
cd chatarena
gradio app.pyDadurch wird ein Demo -Server für Chatarena gestartet, und Sie können ihn aus Ihrem Browser (Port 8080) auf ihn zugreifen.
Schauen Sie sich dieses Video an, um zu erfahren, wie Sie die Web -Benutzeroberfläche verwenden:
Eine Einführung in das Chatarena -Framework finden Sie in diesem Dokument. Überprüfen Sie, ob Sie eine neue Umgebung aufbauen können
Hier bieten wir eine kompakte Anleitung zum minimalen Setup, um das Spiel auszuführen, und einige allgemeine Ratschläge zur Anpassung.
Arena aus einer Konfigurationsdatei laden-hier verwenden wir examples/nlp-classroom-3players.json in diesem Repository als Beispiel:
arena = Arena . from_config ( "examples/nlp-classroom-3players.json" )
arena . run ( num_steps = 10 )Führen Sie das Spiel in einer interaktiven CLI -Schnittstelle aus:
arena . launch_cli ()Schauen Sie sich dieses Video an, um zu erfahren
Sie können Ihre eigene Umgebung definieren, indem Sie die Environment erweitern. Hier sind die allgemeinen Schritte:
type_name erben, und fügen Sie die Klasse zu ALL_ENVIRONMENTS hinzu__init__ -Methode definieren (ihre Argumente definieren die entsprechende Konfiguration) und die initialisierenden Klassenattribute initialisierenstepreset , get_observation , is_terminal und get_rewards implementieren Wir bieten ein detailliertes Tutorial, um zu demonstrieren, wie eine benutzerdefinierte Umgebung definiert wird, wobei die Chameleon -Umgebung als Beispiel verwendet wird.
Wenn Sie die Umgebung einer vorhandenen Bibliothek in Chatarena portieren möchten, sehen Sie sich die Umgebung PettingzooChess als Beispiel an.
Eine Multi-Player-Sprachspielumgebung, die ein Gespräch simuliert.
Basierend auf Gesprächen, aber mit einem Moderator, der die Spieldynamik steuert.
Ein Multi-Player-Spiel mit sozialem Abzug. Es gibt zwei Rollen im Spiel, Chameleon und Nicht-Chameleon. Das Thema des geheimen Wortes wird zuerst allen Spielern enthüllt. Dann wird das geheime Wort Nicht-Chameleons offenbart. Das Chamäleon kennt das geheime Wort nicht. Das Ziel des Spiels hängt von der Rolle des Spielers ab:
Eine Zwei-Spieler-Schachspielumgebung, die die Schachumgebung von Pettingzoo nutzt.
Eine Zwei-Spieler-Tic-Tac-Toe-Spielumgebung, die die Pettingzoo Tictactoe-Umgebung nutzt. Unterscheidet sich von der Moderator Conversation Konversationsumgebung und wird eher von hart codierten Regeln als von einem LLM-Moderator angetrieben.
Wir begrüßen Beiträge zur Verbesserung und Erweiterung von Chatarena. Bitte befolgen Sie diese Schritte, um einen Beitrag zu leisten:
Bitte stellen Sie sicher, dass Ihr Code dem vorhandenen Stil und der vorhandenen Struktur folgt.
Wenn Sie Chatarena für Ihre Recherche nützlich finden, zitieren Sie bitte unser Repository (unser Arxiv -Papier kommt in Kürze):
@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} } ,
}Wenn Sie Fragen oder Vorschläge haben, können Sie ein Problem öffnen oder eine Pull -Anfrage abgeben. Sie können uns auch auf dem Farama Discord Server- https://discord.gg/vrtdmu9y8q kontaktieren
Viel Spaß beim Chatten!
Wir möchten unseren Sponsoren für die Unterstützung dieses Projekts danken: