paint-brush
GPT automatisiert.. Schon wiedervon@mcmurchie
4,501 Lesungen
4,501 Lesungen

GPT automatisiert.. Schon wieder

von McMurchie4m2023/04/10
Read on Terminal Reader
Read this story w/o Javascript

Zu lang; Lesen

Diese GPT-Automatisierungs-Repos sind zu komplex. Ich zeige Ihnen, wie Sie wie meinen GPT-Projekt-Builder Ihr eigenes erstellen, damit Bots Ihr Projekt rekursiv erstellen können.
featured image - GPT automatisiert.. Schon wieder
McMurchie HackerNoon profile picture

➡ Ein süßes Bild davon, wie ich mir unsere Zukunft mit KIs wünsche (Midjourney-Kunst)


TLDR: Diese GPT-Automatisierungs-Repos sind zu komplex; Ich zeige Ihnen, wie Sie Ihr eigenes Projekt wie meinen GPT-Projekt-Builder erstellen, damit Bots Ihr Projekt rekursiv erstellen können.


Normale, gesunde Menschen, die sich nicht ständig von der kleinsten GPT-Sache ablenken lassen (ich nicht), wissen vielleicht noch nicht, dass die angesagtesten Repos auf GitHub voller GPT-Automatisierungsfunktionen sind.


Der beliebte Satz auf Reddit lautet etwa: „Chatbots sind erledigt, die Zukunft gehört den Agenten.“


Das derzeit beliebteste ist Auto-GPT , das eine Verbindung zu Ihrem OpenAI-Konto herstellt und rekursiv ein vollständiges Projekt für Sie erstellt. Der Hype ist real, da es bereits Hunderte von YouTube-Videos gibt, und zwar so sehr, dass man meinen könnte, sie verkaufen NFTs.


Wie auch immer, ich habe es versucht, konnte es aber nicht zum Laufen bringen; Ich habe einen Mac M1, es gab zu viele Fehler und ich wollte mich nicht für ein Pinecone-Konto anmelden (so cool die Idee auch war).


Also beschloss ich, zu versuchen, mein eigenes zu bauen, und hier möchte ich Ihnen zeigen, wie ich es gemacht habe – wenn Ihnen also weder ihr noch meins gefällt, können Sie es selbst basteln.

Schritt 1: Das Konzept der Agenten

Da LLMs für große Sprachmodelle wie GPT3 eine begrenzte Tokenanzahl für die Ein- und Ausgabe haben, können sie nicht genau ein ganzes Webserverprojekt (mit allen HTML-, DB- und Route-Dateien) ausspucken.


Man muss es irgendwie überreden und an die Dinge erinnern, die man zuvor produziert hat; Manchmal geht Ihnen die Konversationsreserve aus und Sie sind nie in der Lage, dem Gespräch den vollständigen Kontext zu geben.


So entstand die Idee von Agenten (von wem? Ich habe keine Ahnung); Was es bedeutet, sind spezielle Wrapper um GPT-APIs, die es auf bestimmte Weise auffordern und die Ergebnisse auf bestimmte Weise verarbeiten, sodass Sie Dinge haben können wie:


  • Prompt-Agent
  • Codegenerator-Agent
  • Debugger-Agent


Während jeder von ihnen ein bestimmtes Abstraktionsniveau verwaltet, können Sie dadurch Token-Speicherplatz freigeben und Ihr Projekt in Teile zerlegen.

Schritt 2: Design

Ok, es macht also Sinn, unterschiedliche Agenten für verschiedene Dinge zu haben, aber wie fügt man sie zusammen? Müssen nicht alle wissen, was die anderen tun?


Der Trick besteht gewissermaßen darin, die Ausgabe eines Agenten zu verwenden, sie zu komprimieren und nur die relevanten Teile an den nächsten Agenten weiterzugeben – das ist schwierig, weil man einen Weg finden muss, klar zu definieren, was wichtig ist und was nicht.


Wenn die GPT-API Aufgaben in Yaml aufteilt, bedeutet das, dass Sie das Yaml in Ihren nächsten API-Aufruf weiterleiten können



In meinem Fall habe ich also einen Papa-Agenten beauftragt, der das Problem klassifizierte:


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


Wenn das Problem durch Code gelöst werden könnte, würde ich ihn bitten, YAML wie oben zu generieren; Auf diese Weise wäre jedes DELIVERABLE ein separater Aufruf der GPT-API auf strukturierte Weise, sodass nur der Code für diese eine Sache erstellt werden könnte.

Schritt 3: Alles automatisieren

Wir haben also 3 Schritte:


  1. Der Benutzer äußert seine Bitte: „Gib mir jetzt eine Handelsplattform!“


  2. Classifier Agent zerlegt es über Yaml in kleinere Teile.


  3. Der Decomposer-Agent durchläuft jedes Yaml und erstellt den Code.


K, was passiert also, wenn die Antwort zu groß ist und der Code abgeschnitten wird? Im Code stelle ich sicher, dass die Eingabeaufforderung ihn anweist, jeweils nur 150 Zeilen zurückzugeben. Ich durchlaufe es in einer Schleife und hänge die Ausgabe kontinuierlich an die Zieldatei an.


Angenommen, es gäbe ein Webserver-Projekt, das manage.py, blogList.js und index.html benötigt, es würde jedes einzelne nach dem anderen erstellen und in eine Datei schreiben.

Die Zukunft und meine Gefühle dazu

Dieses Zeug ist keine Raketenwissenschaft; Tatsächlich handelt es sich lediglich um eine alte Automatisierung mit Drehgriff. Ich habe einen Blog mit dem Titel „Brot aus Nudeln backen“ geschrieben, in dem ich sagte, dass die Leute denken, wir nähern uns AGI an, aber das ist nicht der Fall.


Wir haben einfach ein sehr intelligentes Sprachmodell, das wir zu AGI zusammenzufügen versuchen, als ob wir versuchen würden, Brot aus Nudeln zu machen.


Das Endprodukt ähnelt vielleicht etwas wie einem Laib Brot, ist es aber nicht – so denke ich über die Automatisierung von LLMs.


Dennoch ist es immer noch großartig, Teil dieser Entwicklerbewegung zu sein. GPT, ChatGPT und LLMs haben einen enormen Wert, und die Kreativität der Menschen, die Automatisierungssysteme um sich herum aufbauen, um das Leben der Menschen einfacher zu machen, ist eine großartige Sache, an der man teilhaben kann.


Wenn das also Ihr Ding ist, machen Sie eine Party – wenden Sie sich an mich, wenn Sie Hinweise wünschen oder Dinge haben, die ich verbessern soll.


Hinweis : Das Projekt ist noch nicht abgeschlossen. Es müssen Debugging, Protokollierung und andere Dinge hinzugefügt werden, aber Sie können gerne damit herumspielen, es forken und/oder kopieren und Ihr eigenes erstellen! Ich würde gerne hören, was Sie sich einfallen lassen!


Mehr von mir:

Spiele und mein KI-Projekt youtube

Linkedin

Twitter