Modèles et plateformes d’IA

Auto-GPT & GPT-Engineer : Un guide approfondi sur les agents d’IA les plus performants d’aujourd’hui

mm
Ajouter Unite.AI à vos sources préférées sur Google

Lorsque l’on compare ChatGPT avec des agents d’IA autonomes tels que Auto-GPT et GPT-Engineer, une différence significative émerge dans le processus de prise de décision. Alors que ChatGPT nécessite une implication humaine active pour conduire la conversation, en fournissant des conseils basés sur les invites de l’utilisateur, le processus de planification est principalement dépendant de l’intervention humaine.

Les modèles de l’IA générative tels que les transformateurs sont la technologie de base de pointe, qui alimente ces agents d’IA autonomes. Ces transformateurs sont formés sur de grands ensembles de données, leur permettant de simuler des capacités de raisonnement et de prise de décision complexes.

Les racines open-source des agents autonomes : Auto-GPT et GPT-Engineer

Beaucoup de ces agents d’IA autonomes proviennent d’initiatives open-source menées par des individus innovants qui transforment les flux de travail conventionnels. Plutôt que de simplement proposer des suggestions, des agents tels que Auto-GPT peuvent gérer de manière indépendante des tâches, allant des achats en ligne à la création de applications de base. L’interpréteur de code d’OpenAI vise à améliorer ChatGPT en passant de la simple suggestion d’idées à la résolution active de problèmes avec ces idées.

Les deux Auto-GPT et GPT-Engineer sont équipés de la puissance de GPT 3.5 et GPT-4. Ils comprennent la logique du code, combinent plusieurs fichiers et accélèrent le processus de développement.

Le cœur de la fonctionnalité d’Auto-GPT réside dans ses agents d’IA. Ces agents sont programmés pour exécuter des tâches spécifiques, allant des tâches banales comme la planification à des tâches plus complexes qui nécessitent une prise de décision stratégique. Cependant, ces agents d’IA opèrent dans les limites fixées par les utilisateurs. En contrôlant leur accès via les API, les utilisateurs peuvent déterminer la portée et la profondeur des actions que l’IA peut effectuer.

Par exemple, si l’on demande à Auto-GPT de créer une application de chat Web intégrée à ChatGPT, Auto-GPT décompose de manière autonome l’objectif en étapes actionnables, comme la création d’une interface utilisateur HTML ou la création d’un script Python pour le backend. Même si l’application produit ces invites de manière autonome, les utilisateurs peuvent toujours les surveiller et les modifier. Comme le montre le créateur d’AutoGPT @SigGravitas, il est capable de créer et d’exécuter un programme de test basé sur Python.

https://twitter.com/SigGravitas/status/1642181498278408193

Alors que le diagramme ci-dessous décrit une architecture générale d’un agent d’IA autonome, il offre une vision précieuse des processus qui se déroulent en arrière-plan.

Architecture d'agent d'IA autonome comme Autogpt, GPT Engineer

Architecture d’agent d’IA autonome

Le processus est initié par la vérification de la clé API d’OpenAI et l’initialisation de divers paramètres, notamment la mémoire à court terme et le contenu de la base de données. Une fois les données clés transmises à l’agent, le modèle interagit avec GPT3.5/GPT4 pour récupérer une réponse. Cette réponse est ensuite transformée en format JSON, que l’agent interprète pour exécuter diverses fonctions, comme effectuer des recherches en ligne, lire ou écrire des fichiers, ou même exécuter du code. Auto-GPT utilise un modèle pré-entraîné pour stocker ces réponses dans une base de données, et les interactions futures utilisent ces informations stockées pour référence. La boucle continue jusqu’à ce que la tâche soit considérée comme terminée.

Guide d’installation pour Auto-GPT et GPT-Engineer

La configuration d’outils de pointe tels que GPT-Engineer et Auto-GPT peut rationaliser votre processus de développement. Voici un guide structuré pour vous aider à installer et configurer ces deux outils.

Auto-GPT

La configuration d’Auto-GPT peut sembler complexe, mais avec les étapes appropriées, elle devient plus simple. Ce guide couvre la procédure pour configurer Auto-GPT et offre des insights sur ses divers scénarios.

1. Prérequis :

  1. Environnement Python : Assurez-vous d’avoir Python 3.8 ou une version plus récente installée. Vous pouvez obtenir Python depuis son site officiel.
  2. Si vous prévoyez de cloner des référentiels, installez Git.
  3. Clé API d’OpenAI : Pour interagir avec OpenAI, une clé API est nécessaire. Obtenez la clé depuis votre compte OpenAI
Génération de clé API d'OpenAI

Génération de clé API d’OpenAI

Options de stockage de mémoire : Un stockage de mémoire sert de mécanisme de stockage pour que AutoGPT puisse accéder aux données essentielles pour ses opérations. AutoGPT utilise à la fois des capacités de stockage à court et à long terme. Pinecone, Milvus, Redis, et d’autres sont quelques options disponibles.

2. Configuration de votre espace de travail :

  1. Créez un environnement virtuel : python3 -m venv myenv
  2. Activez l’environnement :
    1. MacOS ou Linux : source myenv/bin/activate

3. Installation :

  1. Clonez le référentiel Auto-GPT (assurez-vous d’avoir Git installé) : git clone https://github.com/Significant-Gravitas/Auto-GPT.git
  2. Pour vous assurer de travailler avec la version 0.2.2 d’Auto-GPT, vous devrez checkout à cette version spécifique : git checkout stable-0.2.2
  3. Naviguez jusqu’au référentiel téléchargé : cd Auto-GPT
  4. Installez les dépendances requises : pip install -r requirements.txt

4. Configuration :

  1. Localisez .env.template dans le répertoire principal /Auto-GPT. Dupliquez-le et renommez-le en .env
  2. Ouvrez .env et définissez votre clé API d’OpenAI à côté de OPENAI_API_KEY=
  3. De même, pour utiliser Pinecone ou d’autres mémoires, mettez à jour le fichier .env avec votre clé API Pinecone et votre région.

5. Instructions de ligne de commande :

Auto-GPT offre un ensemble riche d’arguments de ligne de commande pour personnaliser son comportement :

  • Utilisation générale :
    • Afficher l’aide : python -m autogpt --help
    • Ajuster les paramètres d’IA : python -m autogpt --ai-settings <filename>
    • Spécifier un stockage de mémoire : python -m autogpt --use-memory <memory-backend>
AutoGPT en ligne de commande

AutoGPT en ligne de commande

6. Lancement d’Auto-GPT :

Une fois les configurations terminées, lancez Auto-GPT à l’aide de :

  • Linux ou Mac : ./run.sh start
  • Windows : .run.bat

Intégration Docker (Approche de configuration recommandée)

Pour ceux qui souhaitent conteneuriser Auto-GPT, Docker offre une approche rationalisée. Cependant, soyez conscient que la configuration initiale de Docker peut être légèrement complexe. Référez-vous au guide d’installation de Docker pour obtenir de l’aide.

Procédez en suivant les étapes ci-dessous pour modifier la clé API d’OpenAI. Assurez-vous que Docker est en cours d’exécution en arrière-plan. Allez maintenant dans le répertoire principal d’AutoGPT et suivez les étapes ci-dessous dans votre terminal

  • Construisez l’image Docker : docker build -t autogpt .
  • Exécutez : docker run -it --env-file=./.env -v$PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt

Avec docker-compose :

  • Exécutez : docker-compose run --build --rm auto-gpt
  • Pour une personnalisation supplémentaire, vous pouvez intégrer des arguments supplémentaires. Par exemple, pour exécuter avec –gpt3only et –continuous : docker-compose run --rm auto-gpt --gpt3only--continuous
  • Compte tenu de l’autonomie extensive dont dispose Auto-GPT pour générer du contenu à partir de grands ensembles de données, il existe un risque potentiel qu’il accède involontairement à des sources Web malveillantes.

Pour atténuer les risques, exécutez Auto-GPT dans un conteneur virtuel, comme Docker. Cela garantit que tout contenu potentiellement nocif reste confiné dans l’espace virtuel, laissant vos fichiers et système externes intacts. Alternativement, Windows Sandbox est une option, bien qu’il réinitialise après chaque session, ne conservant pas son état.

Compte tenu de tout cela, il y a encore une chance que vous ne puissiez pas obtenir les résultats souhaités. Les utilisateurs d’Auto-GPT ont signalé des problèmes récurrents lors de la tentative d’écriture dans un fichier, rencontrant souvent des tentatives infructueuses en raison de noms de fichiers problématiques. Voici une erreur de ce type : Auto-GPT (version 0.2.2) n'ajoute pas le texte après l'erreur "write_to_file returned : Error : Le fichier a déjà été mis à jour

Différentes solutions pour résoudre ce problème ont été discutées sur le fil de discussion GitHub pour référence.

GPT-Engineer

Flux de travail GPT-Engineer :

  1. Définition de l’invite : Rédigez une description détaillée de votre projet en langage naturel.
  2. Génération de code : Sur la base de votre invite, GPT-Engineer génère des extraits de code, des fonctions ou même des applications complètes.
  3. Affinement et optimisation : Après la génération, il y a toujours de la place pour l’amélioration. Les développeurs peuvent modifier le code généré pour répondre à des exigences spécifiques, garantissant ainsi une qualité de premier plan.

Le processus de configuration de GPT-Engineer a été condensé en un guide facile à suivre. Voici une présentation étape par étape :

1. Préparation de l’environnement : Avant de commencer, assurez-vous d’avoir votre répertoire de projet prêt. Ouvrez un terminal et exécutez la commande suivante

  • Créez un nouveau répertoire nommé ‘site Web’ : mkdir website
  • Accédez au répertoire : cd website

2. Clonez le référentiel :  git clone https://github.com/AntonOsika/gpt-engineer.git .

3. Accédez et installez les dépendances : Une fois cloné, accédez au répertoire cd gpt-engineer et installez toutes les dépendances nécessaires make install

4. Activez l’environnement virtuel : En fonction de votre système d’exploitation, activez l’environnement virtuel créé.

  • Pour macOS/Linux : source venv/bin/activate
  • Pour Windows, cela diffère légèrement en raison de la configuration de la clé API : set OPENAI_API_KEY=[votre clé API]

5. Configuration – Paramétrage de la clé API : Pour interagir avec OpenAI, vous aurez besoin d’une clé API. Si vous n’en avez pas encore, inscrivez-vous sur la plateforme OpenAI, puis :

  • Pour macOS/Linux : export OPENAI_API_KEY=[votre clé API]
  • Pour Windows (comme mentionné précédemment) : set OPENAI_API_KEY=[votre clé API]

6. Initialisation du projet et génération de code : La magie de GPT-Engineer commence avec le fichier main_prompt trouvé dans le dossier projects .

  • Si vous souhaitez lancer un nouveau projet : cp -r projects/example/ projects/website

Remplacez ‘website’ par le nom de votre projet choisi.

  • Éditez le fichier main_prompt à l’aide d’un éditeur de texte de votre choix, en rédigeant les exigences de votre projet.

  • Une fois satisfait de l’invite, exécutez : gpt-engineer projects/website

Le code généré se trouvera dans le répertoire workspace à l’intérieur du dossier du projet.

7. Post-génération : Bien que GPT-Engineer soit puissant, il n’est pas toujours parfait. Inspectez le code généré, apportez des modifications manuelles si nécessaire, et assurez-vous que tout fonctionne correctement.

Exemple d’exécution

Invite :

“Je souhaite développer une application Streamlit de base en Python qui visualise les données des utilisateurs à travers des graphiques interactifs. L’application doit permettre aux utilisateurs de télécharger un fichier CSV, de sélectionner le type de graphique (par exemple, barre, pie, ligne) et de visualiser dynamiquement les données. Elle peut utiliser des bibliothèques comme Pandas pour la manipulation de données et Plotly pour la visualisation.”

Configuration et exécution de GPT-Engineer

Configuration et exécution de GPT-Engineer

De même qu’Auto-GPT, GPT-Engineer peut parfois rencontrer des erreurs même après une configuration complète. Cependant, à ma troisième tentative, j’ai réussi à accéder avec succès à la page Streamlit suivante. Assurez-vous de vérifier les erreurs sur la page des problèmes du référentiel GPT-Engineer.

Application Streamlit générée à l'aide de GPT-Engineer

Application Streamlit générée à l’aide de GPT-Engineer

Goulots d’étranglement actuels des agents d’IA

Coûts d’exploitation

Une tâche unique exécutée par Auto-GPT peut impliquer de nombreuses étapes. Chacune de ces étapes pourrait être facturée individuellement, augmentant ainsi les coûts. Auto-GPT peut se retrouver piégé dans des boucles répétitives, échouant à fournir les résultats promis. De telles occurrences compromettent sa fiabilité et sapent l’investissement.

Imaginez que vous souhaitiez créer un court essai avec Auto-GPT. La longueur idéale de l’essai est de 8 000 jetons, mais pendant le processus de création, le modèle se lance dans de multiples étapes intermédiaires pour finaliser le contenu. Si vous utilisez GPT-4 avec une longueur de contexte de 8 000, vous seriez facturé 0,03 $ pour l’entrée. Et pour la sortie, le coût serait de 0,06 $. Maintenant, supposons que le modèle rencontre une boucle imprévue, répétant certaines parties à plusieurs reprises. Non seulement le processus devient plus long, mais chaque répétition ajoute également au coût.

Pour se protéger contre cela :

Définissez des limites d’utilisation dans la facturation et les limites d’OpenAI :

  • Limite stricte : Restreint l’utilisation au-delà de votre seuil défini.
  • Limite souple : Vous envoie un e-mail d’alerte une fois que le seuil est atteint.

Limitations de fonctionnalité

Les capacités d’Auto-GPT, telles que décrites dans son code source, viennent avec certaines limites. Ses stratégies de résolution de problèmes sont régies par ses fonctions intrinsèques et l’accès fourni par l’API de GPT-4. Pour des discussions approfondies et des solutions possibles, consultez : Discussion Auto-GPT.

Impact de l’IA sur le marché du travail

La dynamique entre l’IA et les marchés du travail est en constante évolution et est documentée de manière exhaustive dans cet article de recherche. Un point clé à retenir est que même si le progrès technologique profite souvent aux travailleurs qualifiés, il pose des risques pour ceux qui s’engagent dans des tâches répétitives. En fait, les progrès technologiques peuvent remplacer certaines tâches, mais ils ouvrent également la voie à des tâches diverses et intensives en main-d’œuvre.

Marché du travail et agents d'IA autonomes

On estime que 80 % des travailleurs américains pourraient constater que les modèles d’apprentissage de langage (LLM) influencent environ 10 % de leurs tâches quotidiennes. Cette statistique souligne la fusion des rôles de l’IA et de l’humain.

Le rôle double de l’IA dans la main-d’œuvre :

  • Aspects positifs : L’IA peut automatiser de nombreuses tâches, de la gestion de la relation client au conseil financier, offrant un soulagement aux petites entreprises qui manquent de fonds pour des équipes dédiées.
  • Préoccupations : L’avantage de l’automatisation soulève des inquiétudes quant aux pertes d’emplois potentielles, en particulier dans les secteurs où l’implication humaine est primordiale, tels que le support client. Cela s’accompagne du labyrinthe éthique lié à l’accès de l’IA à des données confidentielles. Cela nécessite une infrastructure solide garantissant la transparence, la responsabilité et l’utilisation éthique de l’IA.

Conclusion

Il est clair que des outils tels que ChatGPT, Auto-GPT et GPT-Engineer se trouvent à la pointe de la réinvention de l’interaction entre la technologie et ses utilisateurs. Avec des racines dans les mouvements open-source, ces agents d’IA manifestent les possibilités de l’autonomie des machines, rationalisant des tâches allant de la planification au développement de logiciels.

À mesure que nous avançons vers un avenir où l’IA s’intègre plus profondément dans nos routines quotidiennes, trouver un équilibre entre l’adoption des capacités de l’IA et la protection des rôles humains devient crucial. Dans un spectre plus large, la dynamique entre l’IA et le marché du travail peint un tableau à double face de possibilités de croissance et de défis, exigeant une intégration consciente de l’éthique technologique et de la transparence.

J'ai passé les cinq dernières années à plonger dans le monde fascinant de l'apprentissage automatique et du deep learning. Ma passion et mon expertise m'ont conduit à contribuer à plus de 50 projets de génie logiciel divers, avec un focus particulier sur l'IA/ML. Ma curiosité continue m'a également attiré vers le traitement automatique des langues, un domaine que je suis impatient d'explorer plus en profondeur.