Forum: Offtopic Programmieren mit KI


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Beitrag #8017788 wurde vom Autor gelöscht.
von Rene K. (xdraconix)


Angehängte Dateien:

Lesenswert?

Sooooo,

also tatsächlich kommt bei KI was wirklich brauchbares raus. In Visual 
Studio unter C# mit Copilot und als Modell Claude-Haiku-4.5. Von heute 
Nachmittag ca. 13:30Uhr bis jetzt ca. 22:00Uhr.

Komplett mit KI gemacht, selbst die Steuerelemente - wobei das 
eigentlich Spielerei ist.

Problem:

Windows kann via USB-HID maximal 32 Buttons eines Joysticks lesen - mehr 
geht nicht. Der Thrustmaster H.O.T.A.S. A-10 Warthog Throttel (Wie auch 
Vypril für den F-16 Throttle) braucht aber "eigentlich" wesentlich mehr. 
Nun haben sie Kipp- und Wipp-Schalter, 2-Wege wie auch 3-Wege. Die 
Mittelstellung ist immer auf keinen Button gemappt / elektrisch nicht 
verbunden. Sprich: Ein Zwei-Wege Schalter gibt an der oberen Position 
ein Button aus, legt man ihn nach unten ist der eine Button aus - 
allerdings der untere nicht an. Nun reagieren die Simulationen 
(Eigentlich alle: sei es DCS, XPlane, MSFS - mir ist keine Bekannt die 
dies nicht so handhabt) halt nur mit Button aus... man kann quasi keine 
zwei Funktionen auf einen Kippschalter legen. (z.b. APU Start / APU Aus) 
Noch interessanter wird dann die ganze Geschichte bei den 3-Wege 
Schaltern (Flap Position, China-Heat etc..) - das ist quasi ein 
logisches Problem.

Als Umweg kann man sich das ganze z.b. über die jeweilige Software der 
Hersteller (Bei Thrustmaster wäre das TARGET) die Zustande auf einen 
separaten virtuellen Joystick mappen. Diese Einstellung ist aber 
Pain-in-the-Ass, außerdem frisst z.b. TARGET durch ständiges Pollen mit 
100HZ auf allen Achsen und Buttons und auf den jeweiligen virtuellen 
Joystick extrem viel, und das mit ca. 20-25% deutlich merkliche, CPU 
Last.

Lösung:

Ich habe mir nun einen eigenen "Splitter" gebaut / bauen lassen. Welcher 
Eventbasierend ist und somit nicht gepollt wird. Auch werden dann 
ausschließlich die Achsen / Buttons bearbeitet die auch wirklich 
gedrückt werden. Das wiederrum wird ebenfalls, via vJoy, auf einen 
virtuellen Joystick nur dann gemappt, wenn das zugehörige Event wirklich 
eintritt. Somit bringe ich da die CPU-Last unter 1%. Dazu kommt 
natürlich noch: Das ist ein Fire-And-Forget Programm: Starten und das 
wars - den Rest macht es von alleine: vJoy Treiber installieren, sofern 
er nicht da ist -> virtuellen Joystick einrichten -> Bei Ende Treiber 
wieder deinstallieren. Bei TARGET z.b. muss man immer erst ein Profil 
auswählen und dann starten, warten, dann kann man sein Spiel starten.

Ich bin vollends zufrieden!

P.S.: Die Buttons mit dem roten Ring werden auf den virtuellen Joystick 
gemappt!

: Bearbeitet durch User
von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Lotta  . schrieb:
> das kannst Du herausfinden, in dem du ein Modell lädst
> das in den VRAM passt

Ich hab derzeit nur 12 GB VRAM im Zugriff, daher frage ich ja ob das bei 
größerer Hardware besser klappt. Oder der Fehler woanders liegt.

Dieter D. schrieb:
> Das wird deshalb als gemeinsamer Querschnitt verwendet:

Schön, aber warum führt der Copilot die Tools nicht aus sondern zeigt 
mir nur den JSON-Befehl an? Bei Verwendung der GitHub -eigenen Modelle 
in der Cloud funktioniert es.

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Lesenswert?

Niklas G. schrieb:
> Ab welcher Modellgröße

Probieren kannst Du es so wie dort genannt:

https://www.reddit.com/r/neovim/comments/1lns22m/ollamacopilot_copilotlike_code_completion_with/?tl=de

Er schreibt hier:
"Funktioniert mit jedem Ollama Code-Modell (ich empfehle kleinere 1-3B 
Modelle, wenn man die CPU wegen der Geschwindigkeit nutzt)"

Auf dem Raspi 500+ mit 16GB RAM kannst Du es auch mit einem 7B-Modell 
versuchen.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Dieter D. schrieb:
> Probieren kannst Du es so wie dort genannt:

Wie kann ich mit einem Autovervollständigungs-Plugin für NeoVim 
ausprobieren, ob Tool Calls in einem Plugin für VS Code gehen?

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Lesenswert?

Niklas G. schrieb:
> Schön, aber warum  ... nur JSON

Es scheint so, dass Copilot den Schwerpunkt auf Erzeugung der 
Programmstruktur legt. Diese wird als JSON ausgeworfen, was dann die 
Basis ist für eine "nachtgeschaltete KI" oder "Modell", die das in eine 
bestimmte Programmiersprache umsetzt.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Dieter D. schrieb:
> Diese wird als JSON ausgeworfen, was dann die
> Basis ist für eine "nachtgeschaltete KI" oder "Modell", die das in eine
> bestimmte Programmiersprache umsetzt.

Wer erzeugt diesen JSON-Code? Warum wird mir dieser JSON-Code angezeigt 
statt dass er an das KI-Modell geht? Der JSON-Code enthält bei mir 
bereits den gewünschten Programmcode (z.B. C++), der muss einfach nur in 
eine Datei, aber der Copilot erkennt nicht dass der JSON-Code das 
bewirken soll.

Hat sich aber erledigt, denn in der aktuellen Version kann GitHub 
Copilot lokale LLMs gar nicht mehr im Agent-Mode aufrufen. Coolio.

: Bearbeitet durch User
von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Lesenswert?

Niklas G. schrieb:
> Copilot lokale LLMs gar nicht mehr im Agent-Mode aufrufen.

Jetzt muss mit der KI auch Geld verdient werden. Zweitens, wie soll 
sonst verhindert werden, dass kein Schadcode mit den lokalen Modellen 
gebaut wird.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Dieter D. schrieb:
> Jetzt muss mit der KI auch Geld verdient werden

Tja, selbst den GitLab Duo Agenten muss man kräftig bezahlen wenn man 
lokale LLMs nutzt...

Dieter D. schrieb:
> Zweitens, wie soll sonst verhindert werden, dass kein Schadcode mit den
> lokalen Modellen gebaut wird.

Glaube kaum dass MS das interessiert.

von Sheeva P. (sheevaplug)


Lesenswert?

Alexander S. schrieb:
> hier ein Beispiel, wo für das Spiel Isola, für das bereits ein
> Computergegner programmiert worden ist, eine grafische Oberfläche
> generiert wird.
>
> Isola GUI programmiert mit KI [German] von Pyrlae

Najaaa... eine alte, grobe Faustregel in der Softwareentwicklung 
behauptet, daß bei GUI-Software 90% des Code (und der Fehler) in der GUI 
stecken.

Gleichzeitig wird GUI-Software häufig mit Codegeneratoren entwickelt, 
das ist also leicht automatisierbar -- und daher schon seit Jahrzehnten 
höchstgradig automatisiert. Schon Mitte der Neunziger konnten 
Benutzeroberflächen mit den entsprechenden Softwarewerkzeugen 
gezeichnet, und dann nurmehr mit ein wenig Businesslogik angereichert 
und verbunden werden.

Andererseits sehe ich, daß die Entwicklung moderner GUIs wesentlich mehr 
ist als das Zusammenhacken oder -Klicken von Boilerplate. Das merke ich 
aber nur wenn ich darüber mit meiner UX- und meiner Grafikdesignerin 
rede -- die eine macht mein Zeug dann benutzbar, und die andere macht es 
hübsch.

Natürlich habe ich KI-Modelle für sowas ausprobiert, aber am Ende waren 
sie alle wie das Shakespeare-Tutorial von Tensorflow [1]: diese 
erzeugten Texte lesen sich am Ende ein bisschen wie Shakespeare, aber 
die literarische Kraft und Ausdrucksstärke erreichen sie nicht 
ansatzweise.


[1] https://www.tensorflow.org/text/tutorials/text_generation

von Al. K. (alterknacker)


Lesenswert?

Nutze jetzt öfters die "KI",
Ist nicht immer das beste Ergebnis, aber schon öfters hilfreich
und das immer öfters.

Gut nächt'le
MfG
ein 81 Jähriger

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.