Programmieren lassen mit ChatGPT

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5739
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Programmieren lassen mit ChatGPT

Beitrag von af0815 »

hum4n0id3 hat geschrieben:
Mi 14. Dez 2022, 20:16
Ich habe gedacht das chatGPT gerade alles im Internet durchforstet und dann daraus seine Antworten bastelt. Da fehlt jetzt schon ein Jahr.
Sarkasmus on: Da fehlen 50% der gehypten neuen Programmiersprachen. Sarkasmus off
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

hum4n0id3
Beiträge: 195
Registriert: So 5. Mai 2019, 15:23

Re: Programmieren lassen mit ChatGPT

Beitrag von hum4n0id3 »

af0815 hat geschrieben:
Mi 14. Dez 2022, 20:21
hum4n0id3 hat geschrieben:
Mi 14. Dez 2022, 20:16
Ich habe gedacht das chatGPT gerade alles im Internet durchforstet und dann daraus seine Antworten bastelt. Da fehlt jetzt schon ein Jahr.
Sarkasmus on: Da fehlen 50% der gehypten neuen Programmiersprachen. Sarkasmus off
Deswegen sind auch die Antworten über den Lebenszustand zu Pascal auch so optimistisch ausgefallen! Jetzt wird wieder alles klar. War schon verwirrt :lol:

Aber im Ernst, ich dachte wirklich das es Online lernt und auf dessen Resourcen zugreift. Bin schon eigentlich ein wenig wieder entäuscht. Potential ist auf jeden Fall da.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5739
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Programmieren lassen mit ChatGPT

Beitrag von af0815 »

Das mit dem Online lernen kann auch ein ziemlicher Schuss ins Knie sein, weil damit auch die ganze Sache manipulierbar gemacht wird und die Engine sich relativ rasch in eine Richtung bewegen lässt oder wird, die nicht gewünscht ist. Meiner Meinung nach, ist auch eine Lücke von einem Jahr kein Problem, da die KI ja nicht - wie festgestellt wurde - auf aktuelle Ereignisse wie Wetter oder Nachrichten reagieren soll oder braucht.
Warum die KI auch verbessernd reagieren kann, weil sie ja durch den Benutzerzwang nicht "stateless" ist. Daher kann gegenüber anderen Engines der Kontext der vorhergehenden Frage mit einbezogen werden. Zusätzlich kann man die ganzen Fragen dazu nochmals Auswerten und für neue Trainingsmodelle heranziehen. Es macht schon Sinn wie das ganze aufgesetzt wurde, soweit man das als Außenstehender beurteilen kann.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 99
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Programmieren lassen mit ChatGPT

Beitrag von Jorg3000 »

ChatGPT liefert schon erstaunlich individuelle Code-Schnipsel.
Zur Beantwortung von Einsteigerfragen ist es somit sehr gut geeignet, denn man braucht keine lange Foren-Threads lesen, die die eigene Fragestellung vielleicht doch nicht passend beantworten.
Und man braucht in Foren nicht stundenlang oder tagelang auf Antworten zu warten, sich anderen Foren-Mitgliedern nicht zu erklären und sich auch nicht anpampen zu lassen.
Und wenn die KI nicht das gewollte Ergebnis liefert, spezifiziert man so lange neue Details, bis es passt. Das ist schon ziemlich cool.

Und dennoch braucht man als Programmierer derzeit noch nicht um seinen Job bangen, denn ChatGPT neigt dazu - soweit ich es gesehen habe - Schnipsel auszuspucken und keine allzu komplexen Programme.
Wenn man etwas besonderes oder etwas komplexes will, muss man es immer noch selber zusammenbauen.
Und ein verständiger Programmierer muss den Code natürlich überprüfen, dass die KI keinen Mist programmiert hat - weder unabsichtlich noch absichtlich.

Ich finde es gerade spannend darüber nachzudenken, inwiefern ich die KI für meine Zwecke einsetzen könnte. So richtig fündig geworden bin ich spontan noch nicht, aber ich habe es ja auch erst vor 3 Tagen zum ersten Mal gesehen. Also jetzt ausprobieren und lernen, mit einer KI umzugehen.
Grüße, Jörg

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5739
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Programmieren lassen mit ChatGPT

Beitrag von af0815 »

Meines Wissens ist die Frage auch noch nicht geklärt, ob die Ergebnisse einem Copyright unterliegen und wenn, wer ist dann als Urheber zu betrachten.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

hum4n0id3
Beiträge: 195
Registriert: So 5. Mai 2019, 15:23

Re: Programmieren lassen mit ChatGPT

Beitrag von hum4n0id3 »

af0815 hat geschrieben:
Do 15. Dez 2022, 07:29
Das mit dem Online lernen kann auch ein ziemlicher Schuss ins Knie sein, weil damit auch die ganze Sache manipulierbar gemacht wird und die Engine sich relativ rasch in eine Richtung bewegen lässt oder wird, die nicht gewünscht ist. Meiner Meinung nach, ist auch eine Lücke von einem Jahr kein Problem, da die KI ja nicht - wie festgestellt wurde - auf aktuelle Ereignisse wie Wetter oder Nachrichten reagieren soll oder braucht.
Warum die KI auch verbessernd reagieren kann, weil sie ja durch den Benutzerzwang nicht "stateless" ist. Daher kann gegenüber anderen Engines der Kontext der vorhergehenden Frage mit einbezogen werden. Zusätzlich kann man die ganzen Fragen dazu nochmals Auswerten und für neue Trainingsmodelle heranziehen. Es macht schon Sinn wie das ganze aufgesetzt wurde, soweit man das als Außenstehender beurteilen kann.
Der Entwickler hat sich also etwas dabei gedacht, als er chatGPT entwickelt hat.

hum4n0id3
Beiträge: 195
Registriert: So 5. Mai 2019, 15:23

Re: Programmieren lassen mit ChatGPT

Beitrag von hum4n0id3 »

Jorg3000 hat geschrieben:
Do 15. Dez 2022, 07:48
Ich finde es gerade spannend darüber nachzudenken, inwiefern ich die KI für meine Zwecke einsetzen könnte. So richtig fündig geworden bin ich spontan noch nicht, aber ich habe es ja auch erst vor 3 Tagen zum ersten Mal gesehen. Also jetzt ausprobieren und lernen, mit einer KI umzugehen.
Grüße, Jörg
Ich schaue mir gerade an, ob ich es als Texter einsetzen kann. Da ich auch Webseiten baue, sind gute Texte sehr wichtig.

hum4n0id3
Beiträge: 195
Registriert: So 5. Mai 2019, 15:23

Re: Programmieren lassen mit ChatGPT

Beitrag von hum4n0id3 »

Ich: Schreibe mir bitte einen Text für eine Webseite, wo es um Lazarus-IDE, dem Lazarusverein E.v, Vorteilen geht. Bitte maximal bis 250 Wörter.
chatGPT: Die Lazarus-IDE ist eine integrierte Entwicklungsumgebung für Pascal-Sprache. Sie bietet Entwicklern eine Vielzahl von Tools und Funktionen, um ihre Projekte schnell und effizient umzusetzen. Die IDE ist kostenlos und Open-Source, was bedeutet, dass jeder sie herunterladen und verwenden kann.

Der Lazarusverein E.V. ist eine gemeinnützige Organisation, die sich der Förderung von Lazarus-IDE und der Pascal-Sprache widmet. Der Verein organisiert Veranstaltungen, hält Vorträge und bietet Unterstützung für Entwickler, die mit Lazarus und Pascal arbeiten.

Einer der großen Vorteile von Lazarus-IDE ist, dass es plattformübergreifend ist. Es läuft auf Windows, MacOS und Linux-Betriebssystemen, was bedeutet, dass Entwickler ihre Projekte auf einer Vielzahl von Geräten ausführen können. Die IDE ist außerdem einfach zu bedienen und bietet eine intuitive Benutzeroberfläche, die es auch Anfängern ermöglicht, schnell produktive Ergebnisse zu erzielen.

Insgesamt bietet die Lazarus-IDE eine leistungsstarke und kostenlose Alternative zu kommerziellen Entwicklungsumgebungen für Pascal-Sprache. Der Lazarusverein E.V. unterstützt die Nutzung der IDE und bietet zusätzliche Ressourcen und Unterstützung für Entwickler.
Das ist doch schon was :)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5739
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Programmieren lassen mit ChatGPT

Beitrag von af0815 »

Und im Impressum steht dann: Designed by ChatGPT :lol: :shock: :D
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4495
Registriert: Fr 8. Apr 2011, 09:01

Re: Programmieren lassen mit ChatGPT

Beitrag von wp_xyz »

Ich habe mich eben registriert und folgende Frage gestellt:
Ich habe eine Bibliothek FpExif für Lazarus/FreePascal geschrieben. Sie ist veröffentlicht auf https://sourceforge.net/p/lazarus-ccr/s ... ts/fpexif/. Schreibe mir eine Dokumentation für die Komponente TImgInfo.
Als Antwort kam:
FpExif ist eine Bibliothek für Lazarus/FreePascal, die es ermöglicht, auf Exif-Metadaten in JPEG-Bilddateien zuzugreifen. Die Komponente TImgInfo ist dabei ein wichtiger Bestandteil der Bibliothek und dient dazu, Exif-Metadaten aus JPEG-Bilddateien zu lesen und zu verarbeiten.

Die Verwendung von TImgInfo ist relativ einfach. Zunächst müssen Sie sicherstellen, dass die Komponente in Ihrem Projekt enthalten ist. Dies können Sie entweder über den Komponenten-Manager von Lazarus oder indem Sie die folgenden Zeilen in Ihrem Projektcode hinzufügen:

Code: Alles auswählen

uses fpexif;
Anschließend können Sie eine Instanz von TImgInfo erstellen und die Exif-Metadaten einer JPEG-Bilddatei einlesen, indem Sie den Befehl LoadFromJPEG aufrufen:

Code: Alles auswählen

var
  imgInfo: TImgInfo;
begin
  imgInfo := TImgInfo.Create;
  imgInfo.LoadFromJPEG('/path/to/image.jpg');
end;
Sobald die Metadaten geladen wurden, können Sie auf die einzelnen Datenfelder zugreifen und diese verwenden. Zum Beispiel können Sie die Kamera-Marke und das Modell mit den Eigenschaften CameraMake und CameraModel abfragen, die Aufnahmedatum mit der Eigenschaft DateTimeOriginal oder die Brennweite mit der Eigenschaft FocalLength:

Code: Alles auswählen

var
  imgInfo: TImgInfo;
begin
  imgInfo := TImgInfo.Create;
  imgInfo.LoadFromJPEG('/path/to/image.jpg');

  WriteLn('Kamera: ', imgInfo.CameraMake, ' ', imgInfo.CameraModel);
  WriteLn('Aufnahmedatum: ', imgInfo.DateTimeOriginal);
  WriteLn('Brennweite: ', imgInfo.FocalLength);
end;
TImgInfo unterstützt auch das Schreiben von Exif-Metadaten in JPEG-Bilddateien. Hierfür können Sie die Eigenschaften der Komponente setzen und anschließend den Befehl SaveToJPEG aufrufen:

Code: Alles auswählen

var
  imgInfo: TImgInfo;
begin
  imgInfo := TImgInfo.Create;
  imgInfo.LoadFromJPEG('/path/to/image.jpg');

  imgInfo.CameraMake := 'Canon';
  imgInfo.CameraModel := 'EOS 5D Mark II';
  imgInfo.DateTimeOriginal := '2022-12-15 12:00:
Erster Eindruck: Wow, das Ding ist richtig unheimlich... Es gibt auf der Downloadseite zwar ein Readme, woraus er für die Einleitung bedient haben könnte, aber abgeschrieben ist das nicht. Und die Code-Beispiele kommen in dem ganzen Package nirgendwo vor!

Zweiter Eindruck: Viele kleine versteckte Fehler, wo die KI einfach etwas erfindet: Ich wüsste nicht, was der "Lazarus-Komponenten-Manager" ist, und mit der Anweisung "uses fpexif" wird man nicht weit kommen, man braucht in der Regel "fpMetaData". Die Dateizugriffsbefehle heißen nicht "LoadFromJPEG" und "SaveToJPEG," sondern "LoadFromFile" und "SaveToFile". Und Properties "DateTimeOriginal", "FocalLength", "CameraMake" und "CameraModel" gibt es nicht, man muss sich diese Information z.B. über imgInfo.Exifdata.TagByName['Make'].AsString und .TagByName['Model'].AsString holen. Da könnte er von der bekannteren Bibliothek CCR.Exif "gelernt" haben.

Und das "imgInfo.Free" wird jedesmal unterschlagen, und bei dem letzten Beispiel fehlt das "SaveToJPEG" (selbst wenn's nicht so heißt).

Also: Massive Fehler im Detail.

Dennoch. Als Arbeitsgrundlage für eine Dokumentation, gerade das Geschwurbel der Einleitung, sehr gut geeignet. Man muss es nur kritisch durchlesen.

[EDIT]
Jetzt habe ich dieselbe Frage nochmals gestellt. Die neue Antwort fiel etwas kürzer aus, aber das LoadFromJPEG war nun durch LoadFromFile ersetzt und einige Properties wurden nun richtig durch ExifData.TagByName angesprochen. Außerdem ist jetzt das imgInfo.Free da, und auch ein sauberer try-finally Block.
Gruselig... Hat das Ding jetzt im Forum mitgelesen?

Code: Alles auswählen

var
  ImgInfo: TImgInfo;
begin
  ImgInfo := TImgInfo.Create;
  try
    ImgInfo.LoadFromFile('image.jpg');
    WriteLn('Datum und Uhrzeit der Aufnahme: ', ImgInfo.DateTimeOriginal);
    WriteLn('Kamerahersteller: ', ImgInfo.ExifData.TagByName['Make']);
    WriteLn('Kameramodell: ', ImgInfo.ExifData.TagByName['Model']);
    WriteLn('Belichtungszeit: ', ImgInfo.ExposureTime);
    WriteLn('Blende: ', ImgInfo.FNumber);
    WriteLn('ISO-Empfindlichkeit: ', ImgInfo.ISOSpeedRatings);
  finally
    ImgInfo.Free;
  end;
end.

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 99
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Programmieren lassen mit ChatGPT

Beitrag von Jorg3000 »

Angeblich hat es ja keine Internetverbindung - vermutlich ist damit keine aktive Websuche gemeint. Der Stand der Daten aus dem Internet soll von 2021 sein.
Wenn man die gleiche Frage wiederholt, scheint ChatGPT nochmal über Details nachzudenken. Interessant, dass es dabei zu anderen Ergebnissen kommt.

Die Antworten sind beeindruckend und unscharf zugleich.
Nach ein paar weiteren Tests erscheint es mir wie ein Schwurbel-Automat. Es hat zwar viel überraschendes Allgemeinwissen, erzählt aber auch vieles, das im Detail falsch ist.
In einem angeforderten Text über meine kleine Heimatstadt stand mehr allgemeines Blabla als Fakten. Und viel Falsches. Klang dabei aber alles ganz super - ein echter Schwurbel-Generator.
[EDIT] Nachtrag: Wie ich nachträglich bei weiteren Anfragen zu besser bekannten Themen herausgefunden habe, lag das Problem an dem speziellen Thema, wozu es recht wenige wissenschaftliche Publikationen gibt. Bei weiteren Anfragen zu anderen Themen kamen bedeutend bessere Texte dabei raus.

Das Blöde ist, dass man falsche Stellen nur erkennt, wenn man sich auskennt.
Und je besser die KI werden wird und umso weniger Fehler sie in Zukunft macht, umso fataler sind dann Fehler, weil man vielleicht irgendwann in der Zukunft nicht mehr mit Fehlern rechnen wird - im Gegensatz zu heute, wo man die KI erst mal grundsätzlich noch infrage stellt.
Aber man kann das Rad der Zeit nicht zurückdrehen. Somit müssen wir wohl jetzt lernen, wie man das Ding effektiv nutzt ohne dabei auf Geschwurbel reinzufallen. :D
Zuletzt geändert von Jorg3000 am Sa 17. Dez 2022, 08:56, insgesamt 1-mal geändert.

Benutzeravatar
Winni
Beiträge: 1535
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Programmieren lassen mit ChatGPT

Beitrag von Winni »

Hi!

Stack Overflow hat Antworten von ChatGPT verboten, weil sie zu vele Fehler enthalten und so minimalen Qualitätsanforderungen nicht entsprechen:

https://www.zdnet.de/88405600/stack-ove ... i-chatgpt/

Seid nicht so maschinen-gläubig.

Das ist nicht Mr. Spok, der mal schnell die unbekannte Energie auf dem unbekannten Planeten mit einem Super-Duper Programm identifiziert.

Das ist nur Eliza 50 Jahre später!

Winni

Benutzeravatar
Winni
Beiträge: 1535
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Programmieren lassen mit ChatGPT

Beitrag von Winni »

Jorg3000 hat geschrieben:
Do 15. Dez 2022, 20:31
Aber man kann das Rad der Zeit nicht zurückdrehen. Somit müssen wir wohl jetzt lernen, wie man das Ding effektiv nutzt ohne dabei auf Geschwurbel reinzufallen. :D
Hi!

Damit verbringst Du aber mehr Zeit, als wenn Du mal kurz n bischen recherchierst und selbst was schreibst.

Das weisst Du selbst vom Coden:
Fehlersuche frisst gerne die meiste Zeit.

Winni

Benutzeravatar
six1
Beiträge: 713
Registriert: Do 1. Jul 2010, 19:01

Re: Programmieren lassen mit ChatGPT

Beitrag von six1 »

na klar Winni, man kann es einfach ablehnen oder ignorieren.
Mich interessiert jetzt aber wirklich, warum bei der zweiten (identischen?!?!) Anfrage Fehler korrigiert waren!

* Das "Ding" hat "gelernt", woher kamen die Infos dafür?

Ich bin schon beeindruckt, was da mittlerweile funktioniert.
Mein Sohn ist Softwareentwickler und hat eine KI probiert. Er war sehr überrascht, dass diese teils komplizierte, große Codeblöcke fehlerfrei vorgeschlagen hat.
Dabei hatte er nur wenige Zeichen Code getippt und die KI "wusste", wohin es führen soll...

Auch wenn es wie oben als "Geschwurbel" umschrieben wurde, sind es doch sehr gut lesbare Texte! Aber anscheinend ist dieses "Ding" in der Lage, sich zu korrigieren; immerhin.
Das "Ding" wird wohl auf diesem Stand nicht stehen bleiben.

Ich denke, man kann es nicht einfach nur ignorieren. Es ist schnell, das Ergebnis nicht sofort als "KI designed" erkennbar. Da kommen schon viele Fragen auf (vorher schon angedeutet, ob es hier Copyrights gibt usw)
Ein Mensch wird hier schnell ins Hintertreffen geraten angesichts der Geschwindigkeit und "Perfektion", auch wenn das "Ding" noch einige Fehler raushaut.

Ich habe keine Zweifel daran, dass das "Ding" besser wird; und das macht mir schon Sorgen bzw. wirft gewaltige Fragen auf.
Gruß, Michael

Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 221
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint20.3, Win10, Lazarus 2.2.0, FPC3.2.2
CPU-Target: 64Bit
Wohnort: Illertissen
Kontaktdaten:

Re: Programmieren lassen mit ChatGPT

Beitrag von h-elsner »

Das Ding ist ein Werkzeug. Es ist an uns, ob und wie wir das nutzen. Ein Bagger ersetzt auch viele Leute. Dumm ist dann nur, wenn man nur schaufeln kann. Klar. Wichtig ist nur, dass man alles kritisch hinterfragt und nicht blind technikgläubig und abhängig wird. In Zukunft wird also ausser Medienkompetenz auch KI-Kompetenz gefragt sein. Geschäftsmodell?

Ich habe das "Ding" natürlich auch ausprobiert. Gemein wie ich bin, hab ich eine ganz spezielle Frage nach einem von mir selbst geschriebenen Programm gestellt (q500log2kml). Das Ding hat mich beeindruckt. Es hat nicht irgendwelche Schnipsel aus dem Internet kopiert und zusammengestellt. Ich habe das Zeug ja selber geschrieben und weiß, welche Formulierungen verwendet werden.
Aus dem eher kryptischen Dateinamen hat es extrahiert, dass es ein Programm zum Konvertieren von Flightlogs eines Quadkopters Typhoon Q500 zum KML-Dateien ist (für das es ja anfangs auch gedacht war) und wie es eingesetzt werden kann. Ziemlich gut, finde ich, für den Fakt dass es scheinbar außer dem String nix wirklich hat.
Auf die Nachfrage nach weiteren Funktionen verweist er auf das Handbuch, RTFM also, wie üblich. Hätte ich auch nicht anders gemacht.
Das alles in der netten gestelzten Art.
Werde später nochmal nachfragen, ob es sich mal schlau gemacht hat.

Gruß HE

Antworten