paint-brush
GPT automatisé... Encore une foispar@mcmurchie
4,501 lectures
4,501 lectures

GPT automatisé... Encore une fois

par McMurchie4m2023/04/10
Read on Terminal Reader

Trop long; Pour lire

Ces dépôts d'automatisation GPT sont trop complexes, je vais vous montrer comment créer le vôtre comme mon générateur de projet GPT afin que vous puissiez avoir des bots pour construire votre projet de manière récursive.
featured image - GPT automatisé... Encore une fois
McMurchie HackerNoon profile picture

➡ Une jolie photo de ce que j'aimerais que notre avenir avec les IA soit (art de mi-parcours)


TLDR : ces référentiels d'automatisation GPT sont trop complexes ; Je vais vous montrer comment créer le vôtre, comme mon générateur de projet GPT , afin que les bots puissent créer votre projet de manière récursive.


Les personnes normales en bonne santé qui ne sont pas constamment distraites par la moindre chose GPT (pas moi), ne savent peut-être pas encore que les repos les plus populaires sur GitHub regorgent de harnais d'automatisation GPT.


La phrase populaire sur Reddit est quelque chose comme "Les chatbots sont finis, l'avenir appartient aux agents".


Le plus populaire en ce moment est Auto-GPT , qui se connecte à votre compte OpenAI et construit un projet complet pour vous de manière récursive. Le battage médiatique est réel avec des centaines de vidéos YouTube déjà dessus, à tel point qu'on pourrait penser qu'ils vendent des NFT.


Quoi qu'il en soit, j'ai essayé mais je n'ai pas pu le faire fonctionner; J'ai un Mac M1, il y avait trop de bugs et je ne voulais pas créer de compte Pinecone (aussi cool que l'idée était).


Alors, j'ai décidé d'essayer de construire le mien, et ici, je veux vous montrer comment je l'ai fait - donc si vous n'aimez pas le leur ou le mien, vous pouvez bricoler.

Étape 1 : Le concept d'agents

Étant donné que les LLM de grands modèles de langage comme GPT3 ont un nombre limité de jetons pour l'entrée et la sortie, ils ne peuvent pas exactement cracher tout un projet de serveur Web (avec tous les fichiers html, db et route).


Vous devez en quelque sorte le cajoler et lui rappeler les choses que vous avez produites plus tôt ; parfois, vous manquez d'allocation de conversation et vous n'êtes jamais en mesure de lui donner un contexte complet.


Alors l'idée d'agents est venue (par qui ? je n'en ai aucune idée) ; ce qu'il s'agit, c'est d'avoir des wrappers spécialisés autour des API GPT qui l'invitent de certaines manières et traitent les résultats de certaines manières, vous pouvez donc avoir des choses comme :


  • Agent rapide
  • Générateur de code Agent
  • Agent de débogage


Alors que chacun gère un certain niveau d'abstraction, cela vous permet de libérer de l'allocation symbolique et de décomposer votre projet en morceaux.

Étape 2 : Concevoir

Ok, donc avoir différents agents pour différentes choses a du sens, mais comment les assembler, n'ont-ils pas tous besoin de savoir ce que font les autres ?


En quelque sorte, l'astuce consiste à utiliser la sortie d'un agent, à la compresser et à ne transmettre que les bits pertinents à l'agent suivant - c'est délicat car vous devez trouver un moyen de définir clairement ce qui compte et ce qui ne compte pas.


Avoir les tâches de l'API GPT dans Yaml signifie que vous pouvez diriger le yaml dans votre prochain appel d'API



Donc, dans mon cas, ce que j'ai fait, c'est avoir un agent papa qui a classé le problème :


 if(solvableWithCode): callAgents else: print("Sorry mate, here is a business plan instead")


Si le problème pouvait être résolu par code, je lui demanderais de générer YAML comme ci-dessus ; de cette façon, chaque LIVRABLE serait un appel séparé à l'API GPT de manière structurée, lui permettant de produire uniquement le code pour cette chose.

Étape 3 : Tout automatiser

Donc, nous avons 3 étapes :


  1. L'utilisateur déclare sa demande "Donnez-moi une plateforme de trading maintenant!"


  2. L'agent de classification le divise en petits morceaux via Yaml.


  3. Decomposer Agent parcourt chaque Yaml et construit le code.


K, que se passe-t-il si la réponse est trop grande et que le code est coupé ? Dans le code, je m'assure que l'invite lui dit de ne renvoyer que 150 lignes à la fois ; Je le parcours en boucle, en ajoutant continuellement la sortie au fichier cible.


Donc, disons qu'il y avait un projet webServer nécessitant manage.py, blogList.js et index.html, il créerait chacun à la fois et écrirait dans un fichier.

L'avenir et mes sentiments à propos de tout

Ce truc n'est pas sorcier; en fait, il s'agit simplement d'une vieille automatisation à tour de rôle. J'ai fait un blog appelé faire du pain avec des nouilles où j'ai dit que les gens pensent que nous nous rapprochons de l'AGI, mais ce n'est pas le cas.


Nous avons juste un modèle de langage très intelligent que nous essayons d'assembler dans AGI comme si nous essayions de faire du pain avec des nouilles.


Le produit final peut ressembler à quelque chose comme une miche de pain, mais ce n'est pas le cas - c'est ce que je ressens à propos de l'automatisation des LLM.


Néanmoins, c'est toujours incroyable de faire partie de ce mouvement Dev ; il y a une valeur énorme dans GPT, ChatGPT et LLM, et la créativité des personnes qui construisent des harnais d'automatisation autour d'eux pour faciliter la vie des gens est une grande chose à laquelle faire partie.


Donc, si c'est votre truc, amusez-vous - contactez-moi si vous voulez des conseils ou si vous avez des choses que vous voulez que j'améliore.


Remarque : Le projet n'est pas terminé ; il y a du débogage, de la journalisation et d'autres éléments à ajouter, mais n'hésitez pas à jouer avec, à le forker et / ou à copier et à créer le vôtre! J'aimerais entendre ce que vous proposez!


Plus de moi :

Jeux et mon projet d'IA youtube

Linkedin

Twitter