
LLMSのマルチエージェント言語ゲーム環境
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 functionalityChatarenaが動作しているのを見る最も簡単な方法は、デモWeb UIを使用することです。ローカルマシンでデモを起動するには、最初に追加のグレード依存関係を備えたChatarenaをインストールし、次にこのリポジトリをローカルフォルダーにクローンし、最後にリポジトリのルートディレクトリでapp.pyを呼び出します。
pip install chatarena[gradio]
git clone https://github.com/chatarena/chatarena.git
cd chatarena
gradio app.pyこれにより、Chatarena用のデモサーバーが起動し、ブラウザ(ポート8080)からアクセスできます。
このビデオをチェックして、Web 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の使用方法を学ぶためにこのビデオをチェックしてください:より細かいコントロールを使用してメインインタラクションループを実行する方法に関するより詳細なガイドは、こちらにあります
Environmentクラスを拡張することにより、独自の環境を定義できます。一般的なステップは次のとおりです。
type_nameを設定してクラスを定義し、 ALL_ENVIRONMENTSにクラスを追加します__init__メソッド(その引数が対応する構成を定義します)を定義してクラスを初期化し、クラス属性を初期化するstepにゲームメカニクスを実装しますreset 、 get_observation 、 is_terminal 、 get_rewardsなどのメソッドを実装することにより、ゲームの状態と報酬を処理します Chameleon環境を例として使用して、カスタム環境を定義する方法を示すための詳細なチュートリアルを提供します。
既存のライブラリの環境をChatarenaに移植する場合は、例としてPettingzooChess環境をご覧ください。
会話をシミュレートするマルチプレイヤー言語ゲーム環境。
会話に基づいていますが、ゲームのダイナミクスを制御するモデレーターを使用します。
マルチプレイヤーソーシャル控除ゲーム。ゲームにはカメレオンと非チャメレオンの2つの役割があります。秘密の単語のトピックは、最初にすべてのプレイヤーに明らかにされます。その後、秘密の単語が非チャメレオンに明らかになります。カメレオンは秘密の言葉を知りません。ゲームの目的は、プレーヤーの役割によって異なります。
ペッティンズーチェス環境を使用する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でお問い合わせください。
おしゃべり!
このプロジェクトをサポートしてくれたスポンサーに感謝します。