Vor ein paar Monaten habe ich in einem Artikel gezeigt, wie ich mit viel Hilfe von chatgpt meine eigenen Browser-Add-ons erstellt habe. Dieser Artikel wird ähnlich sein. Nehmen Sie es als Inspiration und sehen Sie, wie Sie ChatGPT mit nur den Grundlagen der Programmierung nutzen können, um etwas zu schaffen, was Sie ohne KI nicht schaffen könnten.
Python zuerst
In letzter Zeit macht es mir Spaß, optische Herzfrequenzsensoren in Uhren zu testen. Allerdings ist es nicht immer einfach, eine Tabelle mit sekundengenauen Herzfrequenzwerten von der Uhr zu erhalten. Ich muss die Wege der Synchronisierung und verschiedener Konvertierungen durchlaufen.
So wie jetzt beim ersten Test der Amazfit-Uhr. Ich habe die Aktivität mit Strava synchronisiert und die ursprüngliche TCX-Datei daraus gespeichert. Es sollte reines XML sein, also wollte ich es laden … aber das ging nicht. Alle Browser und Validatoren haben einen Fehler gemeldet.
Also habe ich die Datei in ChatuGPT 4 und seine erweiterten Datenanalysefunktionen (früher Code Interpreter genannt) geworfen. Die KI entwirft den Code in Python, führt ihn selbst mit der angegebenen Datei aus – und was am wichtigsten ist, debuggt sich dann selbst, wenn etwas schief geht.
Schauen Sie sich dieses Bild an, das es perfekt zeigt. Oben ist meine erste Eingabe mit einer hochgeladenen Datei und einer Aufforderung zum Laden.
ChatGPT beschrieb, was das TCX-Format ist und wie man damit arbeitet. Er bereitete einen einfachen Code vor, führte ihn aus … und stellte fest, dass er nicht funktionierte. Dass das XML geändert werden muss, um es laden zu können. Da dies ein zweites Mal nicht gelang, schlug er eine weitere Anpassung vor und listete dann die ersten fünf Einträge in der Tabelle auf.
Anschließend habe ich den Python-Code geschrieben, den ChatGPT zum Laden verwendet hat. Ich habe es in eine Datei im Jupyter Notebook kopiert, ich habe auch über die Formulierung des Codes für den Export in CSV gesprochen und ich hatte ein Verfahren parat, um die Daten von der Amazfit-Uhr in das erforderliche Format zu bringen.
Ich könnte hier aufhören, ChatGPT hat mir bereits so sehr geholfen. In einer Viertelstunde hatte ich das benötigte Werkzeug bereit.
Und jetzt möchte ich eine Web-App
Aber ich habe einen Tipp bekommen, dass ich dieses Tool eigentlich nicht mit Codeblöcken ausführen müsste, sondern dass es eine reine Webanwendung wäre. Lokal würde ich die HTML-Seite der Anwendung im Browser öffnen, die TCX-Datei hineinladen und dann einfach die konvertierten Werte kopieren.
Ich habe es versucht und nach ein paar Dutzend Minuten war er mit seinen geringen JavaScript-Kenntnissen fertig. Aber ich muss zugeben, dass es etwas mehr Aufwand gekostet hat. ChatGPT kann JavaScript im Gegensatz zu Python nicht alleine ausführen und debuggen. Ich musste mich selbst mit den Dateien auf meiner Festplatte debuggen und ihm das Verhalten und die Fehler beschreiben.
Leider hat meine Absicht, die gesamte ChatGPT-Konversation mit Ihnen zu teilen, damit Sie alle meine Anweisungen, ihre Ausgabe und den Debugging-Prozess sehen können, nicht geklappt. Jetzt weiß ich, dass die Freigabefunktion nicht verfügbar ist, wenn der Chat ein eingebettetes Bild enthält. Aber ich werde versuchen, es kurz zu beschreiben.
Sie können den ersten Eintrag im vorherigen Bild sehen. Da ich wusste, dass XML kein Standard ist, wollte ich ChatGPT nicht direkt zur Sache kommen lassen. Ich habe ihn zunächst angewiesen, mit Python herauszufinden, was mit der Datei nicht stimmte und wie man das Problem beheben konnte. Es fand der gleiche Prozess statt, den ich in der Einleitung beschrieben habe.
Anschließend habe ich ChatGPT genau beschrieben, was ich davon wollte, wie sich die Anwendung verhalten sollte. Er führte die Analyse durch und schlug eine Lösung vor:
Im nächsten Schritt erstellte die KI grundlegende HTML-Code- und Javascript-Funktionen. Ich habe auch gefragt, wie ich damit auf der CD arbeiten soll. ChatGPT erklärte, dass der HTML-Code in einer Datei vorliegen wird, die JavaScripts in einer anderen.
Ich habe die Dateien wie angewiesen erstellt, den HTML-Code geöffnet, die TCX-Datei hochgeladen und festgestellt, dass nichts passiert ist. Ich habe das Verhalten und die leere Javascript-Konsole beschrieben. ChatGPT schlug vor, den Code zu ändern, um Status an die Konsole auszugeben:
Nach einem weiteren Durchlauf stellte ich fest, dass ich unter anderem in der Konsole war Gefundene Trackpoints: 0 Und mir kam der Gedanke, dass ChatGPT möglicherweise vergessen hat, dass es sich nicht um Standard-XML handelt. Er hat die Einführungsübung, in der er herausfinden sollte, wie man sie lädt, nicht mit dem zweiten Teil, mit der Javascript-Anwendung, verbunden. Aber es reichte, ihn darauf aufmerksam zu machen, auf die Einleitung zu verweisen, und er bot sofort den geänderten Code an.
Ich habe die TCX-Datei neu geladen… und alles hat funktioniert. Aber die Seite war einfach so einfach, hässlich. Ich wollte versuchen, es besser zu machen.
Gerade kam ein Zauber ins Spiel, der mich letztendlich daran hinderte, das gesamte Gespräch zu teilen. Ich habe ein Bild davon gezeichnet, wie die Seite aussehen soll. Ich habe das Bild auf ChatGPT hochgeladen und eine Beschreibung des Verhaltens hinzugefügt.
ChatGPT hat einen neuen HTML-Dateiinhalt entworfen. Jetzt war er voller CSS-Stile und deren Definitionen. Außerdem musste ich der JavaScript-Datei einen weiteren Code hinzufügen. Im nächsten Schritt habe ich um kleinere Stilanpassungen in Bezug auf Schriftgröße und Farben gebeten.
Und hier ist das Ergebnis, die Browserseite nach dem Hochladen und Verarbeiten meiner fehlerhaften TCX-Datei:
Ohne KI hätte ich es nicht gegeben
Ich habe einige Grundlagen von JavaScript, in der Version Apps Script habe ich bereits einige Kleinigkeiten in google-Tabellen erstellt. Allerdings wäre es mir definitiv nicht gelungen, diesen Antrag selbst zu erstellen. Aber mit Hilfe von ChatuGPT habe ich im Handumdrehen ein Tool parat, das das tut, was ich brauche, und dabei ziemlich cool aussieht.
Ohne KI könnte ich das einfach nicht schaffen. Ich würde wahrscheinlich überhaupt nicht darauf eingehen; Und wenn ich mich wirklich entscheiden würde, würde ich dafür Tage statt Dutzende von Minuten brauchen.