Delphi-PRAXiS
Seite 1 von 15  1 2311     Letzte » 

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Programme bzw. Funktionen von KI schreiben lassen (OpenAI) (https://www.delphipraxis.net/212082-programme-bzw-funktionen-von-ki-schreiben-lassen-openai.html)

Harry Stahl 14. Dez 2022 22:28


Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
 
Wow, habt Ihr schon mal ChatGTP ausprobiert?
(Man muss da leider einen Account anlegen, um das ausprobieren zu können).

Auf meine Aufforderung

"Write a function in Delphi pascal that adds to a netto value a tax value"

Gibt er mir das zurück:
Delphi-Quellcode:
Function AddTax(Netto : Real; Tax : Real) : Real;
Begin
  Result := Netto + (Netto * Tax);
End;
Weitere Beispiele:

"Write a function in Delphi pascal, that loads a textfile into a TMemo"

This is an example of how to use the LoadFromFile procedure to load a text file into a TMemo.

Delphi-Quellcode:
procedure LoadTextFileToMemo(const FileName: string; Memo: TMemo);
begin
  Memo.Lines.LoadFromFile(FileName);
end;
"Write a function in Delphi pascal, that shows a messagedialog with "yes", "no" and "cancel" buttons"

The following code shows a message dialog with "Yes", "No" and "Cancel" buttons:
Delphi-Quellcode:
function ShowYesNoCancelDialog(const Msg: string): Integer;
begin
  Result := MessageDlg(Msg, mtConfirmation, [mbYes, mbNo, mbCancel], 0);
end;
Wohin das wohl führen mag...?

Ich bin über dieses Video darauf gestoßen, das zeigt, dass noch sehr viel mehr geht: https://youtu.be/HtuXjfqwGPE?t=164

Interessanterweise liefert die KI wohl oft unterschiedliche Ergebnisse, wenn man die Frage öfter stellt.

Bei der zweiten Abfrage hier hat die KI sogar eine Art Bereichsprüfung eingebaut (also count > 0 usw):

"Write a function in Delphi pascal with firemonkey that exchanges two items in a Tlistbox"

Delphi-Quellcode:
procedure ExchangeItems(listBox : TListBox; index1, index2 : Integer);
var
  temp : String;
begin
  if (index1 <> index2) and (index1 >= 0) and (index1 < listBox.Count)
     and (index2 >= 0) and (index2 < listBox.Count) then
  begin
    temp := listBox.Items[index1];
    listBox.Items[index1] := listBox.Items[index2];
    listBox.Items[index2] := temp;
  end;
end;

KodeZwerg 14. Dez 2022 23:16

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
 
Zitat:

Zitat von Harry Stahl (Beitrag 1516188)
Wohin das wohl führen mag...?

Bei StackOverflow zum Beispiel zu einem ban :cyclops:

himitsu 14. Dez 2022 23:48

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
 
Frag den mal nach einem Pacman-Clone oder nach FlappyBird ... bin gespannt ob da was Funktionierendes bei raus kommt.

API 15. Dez 2022 04:02

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
 
Die Anzahl Zeichen der Antwort scheinen in dieser Preview-Version limitiert zu sein. Darum wird der Ouput am Ende abgeschnitten.

Frage zum Erstellen eines Pacman Programms:


Delphi-Quellcode:
program Pacman;

uses
  SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, ExtCtrls,
  Buttons, Dialogs;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Timer1: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  GridWidth = 20;
  GridHeight = 15;
  InitialNumDots = 240;
  Speed = 200;

var
  Form1: TForm1;
  Grid: array[1..GridWidth, 1..GridHeight] of Integer;
  PacmanX, PacmanY, DotsEaten: Integer;
  Direction: Char;

procedure DrawGrid;
var
  X, Y: Integer;
begin
  with Form1.Image1.Canvas do
  begin
    Pen.Color := clBlack;
    Brush.Color := clWhite;
    Rectangle(0, 0, GridWidth * 20, GridHeight * 20);
    for X := 1 to GridWidth do
      for Y := 1 to GridHeight do
        if Grid[X, Y] = 1 then
        begin
          Brush.Color := clYellow;
          Ellipse((X - 1) * 20, (Y - 1) * 20, X * 20, Y * 20);
        end;
  end;
end;

procedure DrawPacman;
var
  X, Y: Integer;
begin
  X := PacmanX * 20 + 10;
  Y := PacmanY * 20 + 10;
  with Form1.Image1.Canvas do
  begin
    Brush.Color := clYellow;
    Pen.Color := clBlack;
    case Direction of
      'U': Arc(X - 10, Y - 10, X + 10, Y + 10, X, Y - 10, X, Y - 10);
      'D': Arc(X - 10, Y - 10, X + 10, Y + 10, X, Y + 10, X, Y + 10);
      'L': Arc(X - 10, Y - 10, X + 10, Y + 10, X - 10, Y, X - 10, Y);
      'R': Arc(X - 10, Y - 10, X + 10, Y + 10, X + 10, Y, X + 10, Y);
    end;
  end;
end;

function Wall(X, Y: Integer): Boolean;
begin
  Result := (X < 1) or (X > GridWidth) or (Y < 1) or (Y > GridHeight) or
    (Grid[X, Y] = 2);
end;

procedure MovePacman;
var
  NewX, NewY

API 15. Dez 2022 04:13

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
 
Sehr beeindruckend finde ich den Versuch, ChatGPT eine neue Sprache erfinden zu lassen.

https://maximumeffort.substack.com/p...ent-a-language

Einleitung davon auf Deutsch übersetzt (thx deepl)

Wenn ChatGPT für die Sprachverarbeitung optimiert ist, könnte ich es dann dazu bringen, eine neue, in sich konsistente Sprache zu erfinden, mit mir in dieser Sprache zu sprechen und ein Programm zu schreiben, das diese Sprache ins Englische zurückübersetzt?

Ja. Ja, das kann es.

Ich bin wirklich verblüfft von dieser Fähigkeit. Das geht weit über alles hinaus, was ich von einem Modell erwarten würde, das auf die Vervollständigung von Texteingaben des Benutzers trainiert wurde.

Es versteht Nebensätze (d. h. es versteht mindestens eine Ebene der rekursiven Grammatik, die nach Chomsky die Grundlage der gesamten menschlichen Grammatik ist)

Es versteht, dass in flektierten Sprachen die Wortstellung keine Rolle spielt, wenn das Wort richtig flektiert ist, und nutzt diese Tatsache korrekt, um Sätze mit neuer Struktur zu erzeugen. Es weiß auch, dass die Reihenfolge bei nicht flektierten Wörtern eine Rolle spielt, und tauscht diese niemals aus.

Es ist nicht sehr gut darin, auf völlig neue Sätze zu verallgemeinern, aber es verallgemeinert bis zu einem gewissen Grad, und wenn man es bittet, Fragen in der erfundenen Sprache zu beantworten, auf die es kaum trainiert ist, antwortet es meistens richtig. Manchmal braucht es etwas Nachhilfe, aber das tun Menschen auch.

Es kann spontan in der erfundenen Sprache komponieren, zumindest mit größtenteils korrekter Grammatik und einem genauen Sinn für die Bedeutung.

Und wenn man ihn bittet, ein Python-Programm zu schreiben, das Sätze in der erfundenen Sprache übersetzt, tut er es, und der Code funktioniert. Es kann auch seinen eigenen Code debuggen, wenn es dazu aufgefordert wird.

omnibrain 15. Dez 2022 08:51

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
 
Zitat:

Zitat von Harry Stahl (Beitrag 1516188)
"Write a function in Delphi pascal that adds to a netto value a tax value"

Gibt er mir das zurück:
Delphi-Quellcode:
Function AddTax(Netto : Real; Tax : Real) : Real;
Begin
  Result := Netto + (Netto * Tax);
End;
Wohin das wohl führen mag...?

Rundungsdifferenzen und unglückliche Kunden.

haentschman 15. Dez 2022 09:21

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
 
Delphi-Quellcode:
with Form1.Image1.Canvas do
...:kotz:

Uwe Raabe 15. Dez 2022 09:56

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
 
Als ich weiß nicht, aber ich glaube ich habe die angefragten Funktionen eher in Delphi geschrieben, als sie in ChatGPT zu beschreiben.

Hinzu kommt, dass man dem Ergebnis ja nicht einfach so trauen kann und ich das ja noch auf Korrektheit prüfen muss - etwas, das ich beim Selberschreiben ja implizit schon tue.

Schließlich hat der Chatbot seine Intelligenz ja auch nur aus dem Internet und der dort herumgeisternde Code ist zuweilen schon recht grenzwertig, was das Pacman-Beispiel ja sehr deutlich aufzeigt.

DeddyH 15. Dez 2022 10:02

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
 
Man kann den Bot aber auch seinen eigenen Code korrigieren lassen, siehe z.B. https://www.youtube.com/watch?v=YkhdP9ZYi3s. Ich würde mich zwar auch nicht auf automatisch generierten Code verlassen, aber das Projekt ist schon erstaunlich.

Sinspin 15. Dez 2022 10:20

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1516205)
Schließlich hat der Chatbot seine Intelligenz ja auch nur aus dem Internet und der dort herumgeisternde Code ist zuweilen schon recht grenzwertig, was das Pacman-Beispiel ja sehr deutlich aufzeigt.

Ich denke auch, das ist copy and paste von irgendwo gefundenem Code.

Interessant wäre es mal eine richtige Frage zu stellen.
Ala : "Write a function in Delphi pascal that adds two sinus waves, with a given frequency and an frequency offset of 3% between both"

Zitat:

Zitat von DeddyH (Beitrag 1516207)
Man kann den Bot aber auch seinen eigenen Code korrigieren lassen ...

Dann ist jetzt auch klar wie das Ding lernt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.
Seite 1 von 15  1 2311     Letzte » 

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz