klick2friend

Super einfacher Zugriff auf GPT-3.5 mit Lazarus bzw. Free Pascal

In etwa seit diesem Jahr stehen der Allgemeinheit KI’s zur Verfügung, die erstaunliche Fähigkeiten haben. Unter anderem können sie Text erstellen, der nicht mehr von dem von menschlichen Autoren geschriebenem Text zu unterscheiden ist. Das reizte mich auszuprobieren, ob sie mir auch vollautomatisch einen Roman schreiben können. Doch das ist im Moment noch nicht der Fall. Der offensichtlichste Grund dafür ist die begrenzte Textmenge, die sie auf eine Anfrage hin ausgeben. Es ist natürlich möglich mit Hilfe der KI einen Roman aus zusammengesetzten Teilen zu bauen, aber es ist schwierig darin auch so etwas wie einen ‚roten Faden‘ zu erkennen.

Relativ einfach können Bücher erstellt werden die aus voneinander weitgehend unabhängigen Kapiteln bestehen. Wie zum Beispiel ein Buch über die Arduino Programmierung. Aber auch diese müssen manuell zusammen gesetzt werden.

Mich reizt es diesen Prozess zu automatisieren und dabei ein paar besondere Techniken zu integrieren, um so  vielleicht doch eine durchlaufende Metaebene oder Handlungsstruktur zu erzeugen. Darum begann ich mit der Entwicklung von geeigneten Werkzeugen zu experimentieren. Als Programmiersprache wählte ich Free Pascal, da ich es von früher her kenne und in Verbindung mit der Entwicklungsumgebung Lazarus dazu geeignet ist fensterorientierte Anwendungen zu programmieren, mit denen es leicht ist mit der Anwendung zu interagieren.

Für dieses Projekt zur automatisierten Erstellung von Büchern, benötigte ich unbedingt Zugriff auf eine KI die Text formulieren kann. Ich hatte schon ein bisschen herum recherchiert und die Beispiele auf der zugehörigen Seite von OpenAI angesehen. Dort sind verschiedene Beispiele, die sich aber auf Python oder Node.js beziehen. Oberflächlich betrachtet schien es so, als ob es genügt ein bischen Json zu formulieren und an einen Server zu senden. Das Python Beispiel nutzte aber eine Bibliothek für die Verarbeitung einiger Angaben, was mich erst einmalig abschreckte. Darum stöberte ich weiter im Internet und fand die Seite von LANDGRAF.DEV, auf der ein OpenAI ChatGPT API Client For Delphi and Lazarus angeboten wird. Diesen Client probierte ich aus und nach etwas Programmierarbeit konnte mein neues Projekt auf eine Text erstellende AI zugreifen!

Einige Stunden und Experimente später stellte ich allerdings fest, dass das von LANDGRAF.DEV verwendete KI Model ‚text-davinci-003‘ ist, was deutlich schlechter bei der Texterstellung ist, als man das von Chat-GPT normalerweise gewohnt ist.

Darum erinnerte ich mich an meine ursprüngliche Idee das Ganze selbst zu programmieren. Auf der Suche nach Beispielen fand ich in einem Forum ein Stück Code von Thaddy de Koning, der das so ähnlich, wie ich mir das vorstellte, für ‚text-davinci-003‘ entwickelt hat. An diesem Code knobelte ich einige Zeit herum, bis ich es schließlich für das Model ‚gpt-3.5-turbo‘ angepasst hatte!

Das Programm unten funktioniert nur wenn Ihr einen API key von OpenAI besitzt! Dazu benötigt Ihr einen Account bei OpenAI und für umfangreichere Tests auf jeden Fall auch eine hinterlegte Kreditkarte!

Das unten aufgeführte Programm ist nur ein funktionierendes Beispiel und es liefert schon gute Antworten und Texte. Es kann allein durch Veränderung des Json Strings beeinflusst werden.

program project1;

uses classes, sysutils, fphttpclient, opensslsockets, fpJson, jsonparser;
const
model ='{"model":"gpt-3.5-turbo",' +
'"messages":' +
'[{"role": "system",' +
'"content": "You are a helpful assistant."},' +
'{"role": "user",' +
'"content": "%s"}],' +
'"temperature": 1}';
var
d:TJsonData;
s:string;
RequestStr:string;
ResultStr: string;
begin
writeln('What is your request?');
readln(s);
writeln;
with TfpHttpClient.Create(nil) do
try
AllowRedirect := true;
RequestHeaders.Add('Content-Type: application/json');
RequestHeaders.Add('Authorization: Bearer ' + GetEnvironmentVariable('OPENAI_API_KEY'));
RequestStr := format(model,[s]);
RequestBody := TStringStream.Create(RequestStr);
writeln('Please wait for the response, this can take some time:');
try
ResultStr := Post('https://api.openai.com/v1/chat/completions');
d := GetJson(ResultStr);
writeln(d.findpath('choices[0].message.content').AsString);
finally
d.free;
end;
finally
RequestBody.Free;
Free;
end;
end.

Auf Basis diesen Beispiels könnt Ihr Eure eigenen Anwendungen entwickeln. Es ist sehr rudimentär, zeigt aber gerade dadurch die wesentlichen Elemente eines Zugriffs auf die KI von OpenAI. Viel Spaß damit!

  • Related Posts

    OpenClaw im Selbstversuch (mit Raspberry Pi)

    Einleitung Nachdem es OpenClaw indirekt sogar zu einer Meldung in den ZDF-Nachrichten geschafft hat und in mindestens einer seiner drei Namensvarianten (Clawdbot, Moltbot und eben OpenClaw) als bösartige KI bezeichnet…

    Eine Kontaktbörse mit KI Bots beleben!

    Einleitung Als ich noch recht jung war habe ich in einer kleinen Software Firma namens TAT GmbH gearbeitet. Meine Aufgabe war es ein Shopsystem zu entwickeln, welches mit Java und…

    One thought on “Super einfacher Zugriff auf GPT-3.5 mit Lazarus bzw. Free Pascal

    1. When I use this code with my API key, I get:

      Please wait for the response, this can take some time:
      An unhandled exception occurred at $000000010517DDF6:
      ESocketError: Connect to api.openai.com:443 failed.
      $000000010517DDF6
      $000000010515A501
      $000000010515D110
      $000000010515D929
      $000000010515E1AB

      I am on OSX Big Sur

      Grts,
      Richard

    Schreibe einen Kommentar zu Richard Antwort abbrechen

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    You Missed

    Split-Tunnel: Routing gegen Richtlinie

    • Von Zuseway
    • Februar 22, 2026
    • 33 views

    Xbox im Umbruch: Spencer geht, Sharma übernimmt – was bedeutet das für die Marke?

    Trägheit zähmen: Intelligente Regler für warme Böden

    • Von Zuseway
    • Februar 22, 2026
    • 26 views
    Trägheit zähmen: Intelligente Regler für warme Böden

    OpenClaw im Selbstversuch (mit Raspberry Pi)

    OpenClaw im Selbstversuch (mit Raspberry Pi)

    Eine Kontaktbörse mit KI Bots beleben!

    Eine Kontaktbörse mit KI Bots beleben!

    Amazon Amazon Amazon Amazon

    • Von Zuseway
    • Februar 15, 2026
    • 63 views