Assigner différents rôles aux GPTs pour former une entité collaborative capable de gérer des tâches complexes.
🚀 29 mars 2024: La version v0.8.0 a été publiée. Vous pouvez désormais utiliser le Data Interpreter (arxiv, example, code) via l'importation du package PyPI. De plus, le module RAG (Génération Augmentée par Récupération) a été intégré, et plusieurs nouveaux modèles de LLMs sont désormais pris en charge.
🚀 28 février 2024: La version v0.7.0 a été publiée, permettant l'attribution de différents modèles de langage (LLMs) à différents Rôles. Nous avons également introduit le Data Interpreter, , un agent puissant capable de résoudre une grande variété de problèmes du monde réel.
🚀 16 janvier 2024: Notre article intitulé MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework a été accepté pour une présentation orale (top 1,2%) à la conférence ICLR 2024, se classant n°1 dans la catégorie des agents basés sur les modèles de langage (LLM).
🚀 3 janvier 2024 : La version v0.6.0 a été publiée avec de nouvelles fonctionnalités, notamment la sérialisation, la mise à niveau du package OpenAI et la prise en charge de plusieurs modèles de langage (LLM). Un exemple minimal pour le débat a également été ajouté pour illustrer ces capacités.
🚀 15 décembre 2023 : La version v0.5.0 a été publiée, introduisant des fonctionnalités expérimentales telles que le développement incrémental, la prise en charge du multilingue, et la compatibilité avec plusieurs langages de programmation, etc..
🔥 8 novembre 2023 : MetaGPT a été sélectionné parmi les Open100: Top 100 des réalisations open source, une reconnaissance qui met en avant les meilleures innovations et contributions dans le domaine des projets open source.
🔥 1er septembre 2023 : MetaGPT a dominé le classement GitHub Trending Monthly pour la 17ème fois en août 2023, consolidant ainsi sa position en tant que projet open source de premier plan.
🌟 30 juin 2023 : MetaGPT est désormais open source, permettant à la communauté de contribuer et d'enrichir le projet.
🌟 24 avril 2023 : La première ligne de code de MetaGPT a été engagée, marquant le début de ce projet innovant.
-
Exigence unique : MetaGPT prend en entrée une exigence formulée en une ligne et produit des résultats variés, tels que des user stories, des analyses concurrentielles, des exigences, des structures de données, des API, des documents, etc..
-
Structure interne : MetaGPT intègre divers rôles présents dans une entreprise de logiciels, notamment des chefs de produits, des architectes, des chefs de projet et des ingénieurs. Ce système propose un processus complet de développement logiciel, soutenu par des procédures opérationnelles standardisées (SOP) soigneusement orchestrées.
- La philosophie centrale du système est exprimée par l'énoncé :
Code = SOP(Équipe)
. Cela signifie que les SOP sont concrétisées et appliquées à des équipes composées de modèles de langage (LLMs), permettant ainsi une meilleure gestion et un meilleur déroulement des projets.
- La philosophie centrale du système est exprimée par l'énoncé :
Schéma multi-agent d'une entreprise de logiciels (Mise en œuvre progressive)
Assurez-vous que Python 3.9 ou supérieur, mais inférieur à 3.12, est installé sur votre système. Vous pouvez le vérifier en utilisant :
python --version
.
Vous pouvez utiliser conda comme suit :conda create -n metagpt python=3.9 && conda activate metagpt
pip install --upgrade metagpt
# or `pip install --upgrade git+https://github.com/geekan/MetaGPT.git`
# or `git clone https://github.com/geekan/MetaGPT && cd MetaGPT && pip install --upgrade -e .`
Pour des conseils d'installation détaillés, veuillez vous référer à cli_install ou docker_install
Vous pouvez initialiser la configuration de MetaGPT en lançant la commande suivante, ou en créant manuellement le fichier ~/.metagpt/config2.yaml
:
# Visitez https://docs.deepwisdom.ai/main/en/guide/get_started/configuration.html pour plus de détails
metagpt --init-config # il créera ~/.metagpt/config2.yaml, il suffit de le modifier selon vos besoins
Vous pouvez configurer ~/.metagpt/config2.yaml
selon l'exemple et le doc :
llm:
api_type: "openai" # ou azure / ollama / groq etc. Consultez LLMType pour plus d'options
model: "gpt-4-turbo" # ou gpt-3.5-turbo
base_url: "https://api.openai.com/v1" # ou URL de transfert / URL d'autre LLM.
api_key: "VOTRE_CLE_API"
Après l'installation, vous pouvez utiliser MetaGPT en CLI
metagpt "Create a 2048 game" # ceci créera un repo dans ./workspace
ou l'utiliser comme bibliothèque
from metagpt.software_company import generate_repo, ProjectRepo
repo: ProjectRepo = generate_repo("Create a 2048 game") # ou ProjectRepo("<path>")
print(repo) # il affichera la structure du repo avec les fichiers
Vous pouvez aussi utiliser Data Interpreter pour écrire du code:
import asyncio
from metagpt.roles.di.data_interpreter import DataInterpreter
async def main():
di = DataInterpreter()
await di.run("Exécuter une analyse de données sur le jeu de données sklearn Iris et y inclure un graphique")
asyncio.run(main()) # ou attendre main() dans une configuration de notebook jupyter
- Essayez-le sur MetaGPT Huggingface Space
- Matthew Berman : Comment installer MetaGPT - Construire une startup avec une seule invite
- Vidéo de démonstration officielle
customized_tasks_by_MetaGPT_v2.mp4
- 🗒 Document en ligne
- 💻 Utilisation
- 🔎 Que peut faire MetaGPT
- 🛠 Comment créer ses propres agents ?
- 🧑💻 Contribution
- 🔖 Cas d'usage
- ❓ FAQs
📢 Rejoignez-nous sur Discord Channel! Au plaisir de vous y voir ! 🎉
📝 Remplissez le formulaire pour devenir contributeur. Nous nous réjouissons de votre participation !
Si vous avez des questions ou des commentaires sur ce projet, n'hésitez pas à nous contacter. Nous apprécions grandement vos suggestions !
- Email: [email protected]
- GitHub Issues: Pour des questions plus techniques, vous pouvez également créer un nouveau problème dans notre dépôt Github.
Nous répondrons à toutes les questions dans un délai de 2 à 3 jours ouvrables.
Pour rester informé des dernières recherches et développements, suivez [@MetaGPT_] (https://twitter.com/MetaGPT_) sur Twitter.
Pour citer MetaGPT ou Data Interpreter dans des publications, veuillez utiliser les entrées BibTeX suivantes.
@inproceedings{hong2024metagpt,
title={Meta{GPT}: Meta Programming for A Multi-Agent Collaborative Framework},
author={Sirui Hong and Mingchen Zhuge and Jonathan Chen and Xiawu Zheng and Yuheng Cheng and Jinlin Wang and Ceyao Zhang and Zili Wang and Steven Ka Shing Yau and Zijuan Lin and Liyang Zhou and Chenyu Ran and Lingfeng Xiao and Chenglin Wu and J{\"u}rgen Schmidhuber},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024},
url={https://openreview.net/forum?id=VtmBAGCN7o}
}
@misc{hong2024data,
title={Data Interpreter: An LLM Agent For Data Science},
author={Sirui Hong and Yizhang Lin and Bang Liu and Bangbang Liu and Binhao Wu and Danyang Li and Jiaqi Chen and Jiayi Zhang and Jinlin Wang and Li Zhang and Lingyao Zhang and Min Yang and Mingchen Zhuge and Taicheng Guo and Tuo Zhou and Wei Tao and Wenyi Wang and Xiangru Tang and Xiangtao Lu and Xiawu Zheng and Xinbing Liang and Yaying Fei and Yuheng Cheng and Zongze Xu and Chenglin Wu},
year={2024},
eprint={2402.18679},
archivePrefix={arXiv},
primaryClass={cs.AI}
}