【English | Chinese | Japanese | Korean | Filipino | French | Slovak | Portuguese | Spanish | Dutch | Turkish | Hindi | Bahasa Indonesia | Russian | Urdu】
【📚 Wiki | 🚀 Визуализатор | 👥 ПО от сообщества | 🔧 Кастомизация | 👾 Discord】
- ChatDev представляет собой виртуальную программную компанию, работающую через различные интеллектуальные агенты, выполняющие разные роли, включая Генерального директора , Главного продуктового директора , Главного технолога , программиста , рецензента , тестировщика , арт-дизайнера . Эти агенты формируют многогранную организационную структуру и объединены миссией «провести революцию цифрового мира через программирование». Агенты внутри ChatDev сотрудничают, участвуя в специализированных функциональных семинарах, включая задачи по проектированию, кодингу, тестированию и документированию.
- Основная цель ChatDev — предложить простой в использовании, высоконастраиваемый и расширяемый фреймворк, основанный на больших языковых моделях (LLMs), который служит идеальным сценарием для изучения коллективного интеллекта.
- 25 июня 2024 года: 🎉 Для содействия развитию в области многогранного сотрудничества на основе LLM 🤖🤖 и смежных областях команда ChatDev собрала коллекцию основополагающих статей 📄, представленных в открытом исходном интерактивном электронном формате 📚. Теперь вы можете исследовать последние достижения на веб-сайте электронной книги и скачать список статей .
- 12 июня 2024 года: Мы представляем Сети Многогранного Сотрудничества (MacNet) 🎉, которые используют направленные ациклические графы для эффективного выполнения задач в ходе лексических взаимодействий 🤖🤖. MacNet поддерживает сотрудничество среди различных топологий и более чем тысячи агентов без превышения ограничений контекста. Более универсальный и масштабируемый, MacNet можно считать более продвинутой версией топологии цепочки ChatDev. Наш препринт доступен по адресу https://arxiv.org/abs/2406.07155. Эта техника скоро будет интегрирована в этот репозиторий, что расширит поддержку различных организационных структур и предложит более богатые решения за пределами разработки программного обеспечения (например, логическое рассуждение, анализ данных, генерация историй и другое).
Старые новости
-
7 мая 2024 года: Мы представили «Итеративное уточнение опыта» (IER), новый метод, в котором агенты-инструкторы и ассистенты улучшают опыт, ориентированный на сокращение путей, для эффективного освоения новых задач. Этот подход охватывает приобретение, использование, распространение и устранение опыта в ходе выполнения задач. Наш препринт доступен по адресу https://arxiv.org/abs/2405.04219, и эта техника скоро будет интегрирована в ChatDev.
-
25 января 2024 года: Мы интегрировали Модуль Опытного Со-обучения в ChatDev. См. Руководство по опытному со-обучению.
-
28 декабря 2023 года: Мы представляем Опытное Со-обучение, инновационный подход, в котором агенты-инструкторы и ассистенты накапливают опыт, ориентированный на сокращение путей, для эффективного решения новых задач, снижая количество повторяющихся ошибок и повышая эффективность. Ознакомьтесь с нашим препринтом по адресу https://arxiv.org/abs/2312.17025, и эта техника скоро будет интегрирована в ChatDev.
-
15 ноября 2023 года: Мы запустили ChatDev как платформу SaaS, которая позволяет разработчикам программного обеспечения и инновационным предпринимателям эффективно создавать программное обеспечение при очень низкой стоимости и барьере для входа. Попробуйте по адресу https://chatdev.modelbest.cn/.
-
2 ноября 2023 года: ChatDev теперь поддерживает новую функцию: инкрементальную разработку, которая позволяет агентам разрабатывать на основе существующего кода. Попробуйте
--config "incremental" --path "[source_code_directory_path]"
, чтобы начать. -
26 октября 2023 года: ChatDev теперь поддерживает Docker для безопасного выполнения (благодаря вкладу ManindraDeMel). См. Руководство по запуску Docker.
-
25 сентября 2023 года: Теперь доступен режим Git, позволяющий программисту использовать Git для управления версиями. Чтобы включить эту функцию, просто установите
"git_management"
в"True"
вChatChainConfig.json
. См. руководство.
- 20 сентября 2023 года: Теперь доступен режим Human-Agent-Interaction! Вы можете принять участие в работе команды ChatDev, сыграв роль рецензента и предоставив предложения программисту ; попробуйте
python3 run.py --task [описание вашей идеи] --config "Human"
. См. руководство и пример. - 1 сентября 2023 года: Теперь доступен режим Art! Вы можете активировать агента-дизайнера
для генерации изображений, используемых в программном обеспечении; попробуйте
python3 run.py --task [описание вашей идеи] --config "Art"
. См. руководство и пример. - 28 августа 2023 года: Система стала общедоступной.
- 17 августа 2023 года: Версия v1.0.0 была готова к выпуску.
- 30 июля 2023 года: Пользователи могут настроить параметры ChatChain, Phase и Role. Также теперь поддерживаются как онлайн режим журнала, так и режим воспроизведения.
- 16 июля 2023 года: Опубликован препринт статьи, связанной с этим проектом.
- 30 июня 2023 года: Выпущена первоначальная версия репозитория ChatDev.
demo.mp4
Получите доступ к веб-странице для визуализации и настройки: https://chatdev.modelbest.cn/
Для начала выполните следующие шаги:
-
Клонируйте репозиторий GitHub: Начните с клонирования репозитория с помощью команды:
git clone https://github.com/OpenBMB/ChatDev.git
-
Настройте окружение Python: Убедитесь, что у вас установлена версия Python 3.9 или выше. Вы можете создать и активировать это окружение с помощью следующих команд, заменив
ChatDev_conda_env
на предпочитаемое имя окружения:conda create -n ChatDev_conda_env python=3.9 -y conda activate ChatDev_conda_env
-
Установите зависимости: Перейдите в каталог
ChatDev
и установите необходимые зависимости, выполнив:cd ChatDev pip3 install -r requirements.txt
-
Настройте ключ API OpenAI: Экспортируйте ваш ключ API OpenAI в качестве переменной окружения. Замените
"your_OpenAI_API_key"
на ваш реальный ключ API. Помните, что эта переменная окружения является специфичной для сессии, поэтому вам нужно будет установить её снова, если вы откроете новую сессию терминала. На Unix/Linux:export OPENAI_API_KEY="your_OpenAI_API_key"
На Windows:
$env:OPENAI_API_KEY="your_OpenAI_API_key"
-
Разработайте ваше программное обеспечение: Используйте следующую команду для начала разработки вашего программного обеспечения, заменив
[описание вашей идеи]
на описание вашей идеи и[название проекта]
на желаемое название проекта: На Unix/Linux:python3 run.py --task "[описание вашей идеи]" --name "[название проекта]"
На Windows:
python run.py --task "[описание вашей идеи]" --name "[название проекта]"
-
Запустите ваше программное обеспечение: После генерации вы можете найти ваше программное обеспечение в каталоге
WareHouse
в конкретной папке проекта, например,project_name_DefaultOrganization_timestamp
. Запустите ваше программное обеспечение с помощью следующей команды в этом каталоге: На Unix/Linux:cd WareHouse/project_name_DefaultOrganization_timestamp python3 main.py
На Windows:
cd WareHouse/project_name_DefaultOrganization_timestamp python main.py
- Мы благодарим ManindraDeMel за предоставление поддержки Docker. См. Руководство по запуску Docker.
Для получения более подробной информации, пожалуйста, обратитесь к нашему Wiki, где вы найдете:
- Введение во все параметры командного выполнения.
- Простой гид по настройке локального веб-дисплея, который может визуализировать журналы в реальном времени, воспроизведенные журналы и ChatChain.
- Обзор фреймворка ChatDev.
- Полное введение во все расширенные параметры конфигурации ChatChain.
- Руководства по настройке ChatDev, включая:
- ChatChain: Разработайте свой собственный процесс разработки программного обеспечения (или любой другой процесс), такой как
DemandAnalysis -> Coding -> Testing -> Manual
. - Phase: Разработайте свой собственный этап в ChatChain, например,
DemandAnalysis
. - Role: Определите различные роли в вашей компании, такие как
Генеральный директор
.
- ChatChain: Разработайте свой собственный процесс разработки программного обеспечения (или любой другой процесс), такой как
Код: Мы рады вашему интересу к участию в нашем проекте с открытым исходным кодом. Если вы обнаружите какие-либо проблемы, не стесняйтесь сообщить об этом. Не стесняйтесь создавать запрос на внесение изменений, если у вас есть вопросы или вы готовы поделиться своей работой с нами! Ваши вклады очень ценятся. Пожалуйста, дайте знать, если вам нужна дополнительная помощь!
Компания: Создание вашей собственной настроенной "Компании ChatDev" — это просто. Эта персонализированная настройка включает три простых конфигурационных JSON-файла. Ознакомьтесь с примером в директории CompanyConfig/Default
. Для получения подробных инструкций по настройке см. наш Wiki.
Программное обеспечение: Каждый раз, когда вы разрабатываете программное обеспечение с помощью ChatDev, создается соответствующая папка, содержащая всю необходимую информацию. Поделиться вашей работой с нами так же просто, как сделать запрос на внесение изменений. Вот пример: выполните команду python3 run.py --task "design a 2048 game" --name "2048" --org "THUNLP" --config "Default"
. Это создаст пакет программного обеспечения и сгенерирует папку с именем /WareHouse/2048_THUNLP_timestamp
. Внутри вы найдете:
- Все файлы и документы, относящиеся к программному обеспечению игры 2048
- Конфигурационные файлы компании, ответственной за это программное обеспечение, включая три JSON конфигурационных файла из
CompanyConfig/Default
- Полный журнал, детализирующий процесс создания программного обеспечения, который можно использовать для воспроизведения (
timestamp.log
) - Начальный запрос, использованный для создания этого программного обеспечения (
2048.prompt
)
Посмотрите программное обеспечение, предоставленное сообществом здесь!
Сделано с помощью contrib.rocks.
@article{chatdev,
title = {ChatDev: Communicative Agents for Software Development},
author = {Chen Qian and Wei Liu and Hongzhang Liu and Nuo Chen and Yufan Dang and Jiahao Li and Cheng Yang and Weize Chen and Yusheng Su and Xin Cong and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun},
journal = {arXiv preprint arXiv:2307.07924},
url = {https://arxiv.org/abs/2307.07924},
year = {2023}
}
- Лицензирование исходного кода: Исходный код нашего проекта лицензирован по лицензии Apache 2.0. Эта лицензия разрешает использование, модификацию и распространение кода при соблюдении определенных условий, изложенных в лицензии Apache 2.0.
- Лицензирование данных: Связанные данные, используемые в нашем проекте, лицензированы по лицензии CC BY-NC 4.0. Эта лицензия явно разрешает некоммерческое использование данных. Мы хотим подчеркнуть, что любые модели, обученные с использованием этих наборов данных, должны строго соблюдать ограничение на некоммерческое использование и использоваться исключительно в исследовательских целях.
Если у вас есть какие-либо вопросы, отзывы или вы хотите связаться с нами, пожалуйста, не стесняйтесь обращаться к нам по электронной почте [email protected]