
Многоагентные языковые игровые среды для LLMS
Chatarena-это библиотека, которая обеспечивает мультиагентные языковые игровые среды и облегчает исследования об автономных агентах LLM и их социальном взаимодействии. Он предоставляет следующие функции:

Попробуйте нашу онлайн -демонстрацию:
Требования:
Установить с помощью PIP:
pip install chatarenaили установить из источника:
pip install git+https://github.com/chatarena/chatarenaЧтобы использовать GPT-3 в качестве агента LLM, установите свой ключ API OpenAI:
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 functionality Самый быстрый способ увидеть Chatarena в действии - через демонстрационный интерфейс. Чтобы запустить демонстрацию на местной машине, вы сначала установите Chatarena с дополнительной зависимостью для градио, затем приведите этот репозиторий в локальную папку и, наконец, вызовите app.py в корневом каталоге хранилища:
pip install chatarena[gradio]
git clone https://github.com/chatarena/chatarena.git
cd chatarena
gradio app.pyЭто запустит демонстрационный сервер для Chatarena, и вы можете получить к нему доступ из своего браузера (порт 8080).
Проверьте это видео, чтобы узнать, как использовать веб -интерфейс:
Для введения в фреймворк 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__ (его аргументы будут определять соответствующий конфигурация) и инициализируя атрибуты классаstepreset , get_observation , is_terminal и get_rewards Мы предоставляем подробное руководство, чтобы продемонстрировать, как определить пользовательскую среду, используя в качестве примера среды Chameleon .
Если вы хотите перенести среду существующей библиотеки в Chatarena, в качестве примера ознакомьтесь с средой PettingzooChess .
Многопользовательская языковая игра, которая имитирует разговор.
Основываясь на разговоре, но с модератором, который управляет динамикой игры.
Многопользовательская игра социальных выводов. В игре есть две роли: хамелеон и не-камелеон. Тема Секретного Слова будет сначала раскрыта всем игрокам. Тогда секретное слово будет раскрыто не-камелеонам. Хамелеон не знает секретного слова. Цель в игре зависит от роли игрока:
Шахматная игровая среда с двумя игроками, которая использует шахматную среду Pettingzoo.
Игровая среда с двумя игроками Tic-Tac-Toe, которая использует среду Pettingzoo Tictactoe. В отличие от среды Moderator Conversation , эта среда обусловлена твердыми правилами, а не модератором LLM.
Мы приветствуем вклад в улучшение и продление Chatarena. Пожалуйста, следуйте этим шагам, чтобы внести свой вклад:
Пожалуйста, убедитесь, что ваш код следует за существующим стилем и структурой.
Если вы найдете Chatarena полезным для вашего исследования, пожалуйста, укажите наш репозиторий (наша статья Arxiv Spec Spec):
@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
Счастливого чата!
Мы хотели бы поблагодарить наших спонсоров за поддержку этого проекта: