【English | Chinese | Japanese | Korean | Filipino | French | Slovak | Portuguese | Spanish | Dutch | Turkish | Hindi | Bahasa Indonesia | Russian | Urdu】
【📚 Wiki | 🚀 Démo Locale | 👥 Logiciels de la Communauté | 🔧 Personnalisation】
- ChatDev se présente comme une société de logiciels virtuelle opérant par le biais de divers agents intelligents tenant différents rôles, incluant le Directeur Général , le Directeur de Produit , le Directeur Technologique , programmeur , l'auditeur , le testeur et le designer graphique . Ces agents forment une structure organisationnelle multi-agents et sont unis par une mission de "révolutionner le monde numérique à travers la programmation." Les agents de ChatDev collaborent en participant à des séminaires fonctionnels spécialisés, incluant des tâches telles que la conception, le codage, les tests et la documentation.
- L'objectif principal de ChatDev est de proposer un cadre facile à utiliser, hautement personnalisable et extensible, basé sur de grands modèles linguistiques (LLMs) et servant de scénario idéal pour étudier l'intelligence collective.
- 25 septembre 2023 : La fonctionnalité Git est maintenant disponible, permettant au programmeur d'utiliser GitHub pour le contrôle de version. Pour activer cette fonction, définissez simplement
"git_management"
sur"True"
dansChatChainConfig.json
. - 20 septembre 2023 : Le mode Interaction Humain-Agent est maintenant disponible ! Vous pouvez interagir avec l'équipe ChatDev en jouant le rôle de l'examinateur et en faisant des suggestions au programmeur ;
essayez
python3 run.py --task [description_de_votre_idée] --config "Humain"
. Voir le guide et l'exemple. - 1er septembre 2023 : Le mode Art est maintenant disponible ! Vous pouvez activer l'agent designer pour générer des images utilisées dans le logiciel;
essayez
python3 run.py --task [description_de_votre_idée] --config "Art"
. Voir le guide et l'exemple. - 28 août 2023 : Le système est désormais disponible au public.
- 17 août 2023 : La version v1.0.0 était prête à être publiée.
- 30 juillet 2023 : Les utilisateurs peuvent personnaliser les paramètres de ChatChain, Phase et Rôle. De plus, le mode journal en ligne et le mode de relecture sont désormais pris en charge.
- 16 juillet 2023 : L'article préimprimé associé à ce projet a été publié.
- 30 juin 2023 : La version initiale du dépôt ChatDev a été publiée.
demo.mp4
Pour commencer, suivez ces étapes:
-
Clonez le dépôt GitHub: Commencez par cloner le dépôt en utilisant la commande:
git clone https://github.com/OpenBMB/ChatDev.git
-
Configurer l'environnement Python: Assurez-vous que vous disposez d'un environnement Python de version 3.9 ou supérieure. Vous pouvez créer et activer cet environnement en utilisant les commandes suivantes, en remplaçant
ChatDev_conda_env
par votre environnement préféré nom :conda create -n ChatDev_conda_env python=3.9 -y conda activate ChatDev_conda_env
-
Installer les dépendances: Déplacez-vous dans le répertoire
ChatDev
et installez les dépendances nécessaires en exécutant :cd ChatDev pip3 install -r requirements.txt
-
Définir la clé API OpenAI: Exportez votre clé API OpenAI en tant que variable d'environnement. Remplacez
" your_OpenAI_API_key "
par votre clé API proprement dite. Rappelez-vous que cette variable d'environnement est spécifique à une session, vous devez donc la redéfinir à chaque nouvelle instance de terminal. Sous Unix/Linux :export OPENAI_API_KEY="your_OpenAI_API_key"
Sous Windows :
$env:OPENAI_API_KEY="your_OpenAI_API_key"
-
Construisez Votre Logiciel : Utilisez la commande suivante pour initier la construction de votre logiciel, en remplaçant
[description_of_your_idea]
par la description de votre idée et[project_name]
par le nom souhaité pour votre projet : Sur Unix/Linux :python3 run.py --task "[description_of_your_idea]" --name "[project_name]"
Sous Windows :
python run.py --task "[description_of_your_idea]" --name "[project_name]"
-
Exécutez Votre Logiciel : Une fois généré, vous pouvez trouver votre logiciel dans le répertoire
WareHouse
sous un dossier de projet spécifique, tel queproject_name_DefaultOrganization_timestamp
. Exécutez votre logiciel avec la commande suivante dans ce répertoire : Sur Unix/Linux :cd WareHouse/project_name_DefaultOrganization_timestamp python3 main.py
Sous Windows :
cd WareHouse/project_name_DefaultOrganization_timestamp
python main.py
Pour plus d'informations détaillées, veuillez consulter notre Wiki, où vous pouvez trouver :
- Une introduction à tous les paramètres d'exécution de la commande.
- Un guide simple pour configurer une démo web locale, incluant des logs visualisés améliorés, une démo de revision, et un simple visualiseur ChatChain.
- Un aperçu du framework ChatDev.
- Une introduction complète à tous les paramètres avancés de la configuration ChatChain.
- Des guides pour personnaliser ChatDev, y compris :
- ChatChain : Concevez votre propre processus de développement de logiciel (ou tout autre processus),
comme
AnalyseDeLaDemande -> Codage -> Test -> Manuel
. - Phase : Concevez votre propre phase au sein de ChatChain, comme
AnalyseDeLaDemande
. - Rôle : Définissez les différents agents de votre entreprise, comme le
Directeur Général
.
Code : Nous sommes enthousiastes à l'idée de votre intérêt à participer à notre projet open-source. Si vous rencontrez des problèmes, n'hésitez pas à les signaler. N'hésitez pas à créer une demande de pull si vous avez des questions ou si vous êtes prêt à partager votre travail avec nous ! Vos contributions sont très appréciées. Faites-moi savoir s'il y a autre chose dont vous avez besoin !
Entreprise : Créer votre propre "ChatDev Entreprise" personnalisée est un jeu d'enfant. Cette configuration personnalisée
implique trois simples fichiers JSON de configuration. Consultez l'exemple fourni dans le répertoire CompanyConfig/Default
. Pour des
instructions détaillées sur la personnalisation, reportez-vous à notre Wiki.
Logiciel : Chaque fois que vous développez un logiciel avec ChatDev, un dossier correspondant est généré contenant toutes les
informations essentielles. Partager votre travail avec nous est aussi simple que de faire une demande de pull. Voici un exemple :
exécutez la commande python3 run.py --task "concevoir un jeu 2048" --name "2048" --org "THUNLP" --config "Default"
. Ceci
créera un paquet logiciel et générera un dossier nommé /WareHouse/2048_THUNLP_timestamp
. A l'intérieur, vous trouverez :
- Tous les fichiers et documents relatifs au logiciel de jeu 2048
- Les fichiers de configuration de l'entreprise responsable de ce logiciel, y compris les trois fichiers JSON de configuration
de
CompanyConfig/Default
- Un journal complet détaillant le processus de construction du logiciel qui peut être utilisé pour rejouer (
timestamp.log
) - L'invite initiale utilisée pour créer ce logiciel (
2048.prompt
)
Voir les logiciels contribués par la communauté ici!
@misc{qian2023communicative,
title={Communicative Agents for Software Development},
author={Chen Qian and Xin Cong and Wei Liu and Cheng Yang and Weize Chen and Yusheng Su and Yufan Dang and Jiahao Li and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun},
year={2023},
eprint={2307.07924},
archivePrefix={arXiv},
primaryClass={cs.SE}
}
@misc{qian2023experiential,
title={Experiential Co-Learning of Software-Developing Agents},
author={Chen Qian and Yufan Dang and Jiahao Li and Wei Liu and Weize Chen and Cheng Yang and Zhiyuan Liu and Maosong Sun},
year={2023},
eprint={2312.17025},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
- Licence du code source : Le code source de notre projet est sous licence Apache 2.0. Cette licence autorise l'utilisation, la modification et la distribution du code, sous réserve de certaines conditions définies dans la Licence Apache 2.0.
- Licence des données : Les données associées utilisées dans notre projet sont sous licence CC BY-NC 4.0. Cette licence permet explicitement l'utilisation non commerciale des données. Nous souhaitons souligner que tout modèle formé à l'aide de ces ensembles de données doit strictement respecter la restriction d'utilisation non commerciale et ne doit être utilisé que pour des fins de recherche.
Si vous avez des questions, des retours ou souhaitez nous contacter, n'hésitez pas à nous envoyer un email à [email protected]