| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: DeepSeek als Lisp-Code-Generator (347 / mal gelesen)
|
archtools Mitglied
  
 Beiträge: 980 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 31. Jan. 2025 10:36 <-- editieren / zitieren --> Unities abgeben:         
DeepSeek ist die neue chinesische KI, die derzeit ziemlich Furore macht. Vorsicht: DeepSeek zensiert jede Form von Kritik am chinesischen Regime, die in den korrekten Antworten stecken könnte. DeepSeek lernt hier relativ schnell dazu, aber wenn man es unvorbereitet trifft, dann erscheint zuerst eine faktisch korrekte Antwort voller Kritik am Regime, die dann aber nach wenigen Sekunden vom Bildschirm verschwindet. So hat sich DeepSeek in einer Antwort zum Fazit geäußert, dass China "zentralistische Kontrolle mit strikter Unterdrückung von Autonomie- und Unabhängigkeitsbestrebungen ..." ausübt. Ich habe den Chatverlauf mit der verschwindenden Antwort gefilmt: http://www.cadcal.de/Deepseek-kritische-Antwort-verschwindet.mp4Auch wenn man deshalb ALLE Antworten von DeepSeek unter Vorbehalt stellen muss, scheint es bei nicht-politischen Fragestellungen aber recht gute Antworten zu geben. Ich habe deshalb nach einem AutoLISP-Programm gefragt, dass eine Eiche als Lindenmayer-System zeichnet. Den Chatverlauf mit dem Versuch, erste Ergebnisse von DeepSeek debuggen zu lassen, habe ich hier abgelegt: http://www.cadcal.de/DeepSeek-L-System.htm Zunächst habe ich mich vergewissert, dass DeepSeek weiß, was ein Lindenmayer-System ist, habe nach der grundsätzlichen Formulierung einer Eiche als L-System gefragt, und dann um die Umsetzung als AutoLisp Code gebeten. Es kam ein vernünftig aussehendes Programm zustande. Da waren noch einige semantische Fehler (command-Übergabe mit "(0 0 0)" anstelle "(list 0 0 0)" bzw "0,0,0") drin, auf die ich DeepSeek hingewiesen habe. Diese wurden korrigiert. Auch ein logischer Fehler (Deepseek ging davon aus, dass AutoLisp Turtle-Grafik kann) wurde rasch beseitigt. Weitere logische Fehler durch nicht ganz verstandene Rekursionen wurden zwar zugegeben, und es gab mehrfach Versuche der Korrektur, aber eine funktionierende Lösung gab es nicht. DeepSeek hat dann bei der 6. oder 7. Rückfrage den Chat abgebrochen (die Meldung "The server is busy. Please try again later." erscheint immer als Ausrede, wenn DeepSeek auf vertiefte Rückfragen nicht eingehen will). Fazit: DeepSeek kann man auch als Lisp-Laie verwenden, um AutoLisp Funktionen programmieren zu lassen. Für das Debuggen von Fehlern im erzeugten Programm durch DeepSeek sollte man über Lisp-Kenntnisse verfügen. Aber als Lisp-Programmierer kann man sich von DeepSeek vermutlich schnell das Grundgerüst für eine Funktion erstellen lassen, an der man dann aber noch selbst weiter arbeiten muss. Sehr einfache Lisp-Funktionen wird DeepSeek aber alleine zustande bringen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22440 Registriert: 03.06.2002 Alles
|
erstellt am: 31. Jan. 2025 11:01 <-- editieren / zitieren --> Unities abgeben:          Nur für archtools
AutoLisp und vermutlich jede andere Sprache betreffend: Also alles wie gehabt, man kann in deinem Post "DeepSeek" problemlos auch gegen "chatGPT"&Co 1:1 austauschen, oder kannst du da auch etwas zu einem Vergleich zwischen den beiden mehr erzählen? Inhaltlich sage ich es jedem genau so wie du (nur auf chatgpt gemünzt), für Programmierer eine super Suchmaschiene, für Rookies super, für Laien nur per Zufall zu gebrauchen - ETWAS Kenntnisse sollten schon vorhanden sein. Aber je nach Aufgabe und Formulierung, kann natürlich auch mal was "fix und fertig" herausfallen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
  
 Beiträge: 980 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 31. Jan. 2025 11:38 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von cadffm: AutoLisp und vermutlich jede andere Sprache betreffend:Also alles wie gehabt, man kann in deinem Post "DeepSeek" problemlos auch gegen "chatGPT"&Co 1:1 austauschen, oder kannst du da auch etwas zu einem Vergleich zwischen den beiden mehr erzählen?
DeepSeek gibt deutlich umfang- und detailreichere Antworten als ChatGPT. Aber das könnte auch damit zusammenhängen, dass ich nur die kostenfreie Version von ChatGPT benutzt habe. Wichtiger scheint mir aber, dass DeepSeek seine Antworten auch mit detailreichen Erklärungen dazu würzt, und bei manchen Fragen sogar seine Analysen, Folgerungen und seine Bewertungen für die einzelnen Schritte seiner Überlegung dazu mitteilt. Auch die ausgegebenen Lisp-Funktionen werden im Detail erläutert. Und das ist für Laien ein wirklich sehr großer Gewinn, der deren Lernkurve bestimmt deutlich steiler macht. Dass DeepSeek überhaupt fähig ist, seine Gedankenschritte bzw die Funktionalität der von ihm geschriebenen Programme nachvollziehbar zu erläutern, liegt an der hierbei neu verwendeten KI-Technologie eines multimodalen Modells. Die Wikipedia schreibt dazu:
Zitat:
Im Gegensatz zu bisherigen Modellen mit überwachter Feinabstimmung (SFT) nutzt DeepSeek R1 das auf Millionen von Inferenzspuren trainierte Reinforcement Learning (RL). Dies imitiert menschenähnliche Bewertungen, was eine tiefere Analyse von Aufgaben ermöglicht, die komplexe Schlussfolgerungen erfordern. DeepSeek verwendet „Aha-Momente“ als Pivot-Token bei der Formung von Schlussfolgerungen (Chain-of-Thought, CoT). Diese „Aha-Momente“ dienen dazu, Zwischenschritte zu reflektieren und neu zu bewerten. Damit wird die Qualität der Antworten durch Selbstkorrektur verbessert.
Den Unterschied erkennst Du schnell beim Vergleich der Antworten von ChatGPT und DeepSeek beispielsweise auf die Frage "Was sind Lindenmayer-Systeme?". ChatGPT gibt da nur einen kurzen, sehr allgemein gehaltenen Abriss, während DeepSeek die Sache sehr viel tiefergehend erläutert und mit zahlreichen Erklärungen und Beispielen im Detail zu einem sehr viel tieferen Verständnis beiträgt. Bei der Erläuterung der erzeugten Programme ist das ganz genau so. Im Vergleich erscheint mir ChatGPT wie ein leistungsfähiges Wörterbuch, während DeepSeek einer vollen Seminarstunde an der Uni entspricht.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22440 Registriert: 03.06.2002 Alles
|
erstellt am: 31. Jan. 2025 11:45 <-- editieren / zitieren --> Unities abgeben:          Nur für archtools
|
kadirozen Mitglied Projektleiter

 Beiträge: 31 Registriert: 13.07.2023 AutoCAD LT 2024
|
erstellt am: 31. Jan. 2025 16:30 <-- editieren / zitieren --> Unities abgeben:          Nur für archtools
Zitat: Original erstellt von archtools: DeepSeek ist die neue chinesische KI, die derzeit ziemlich Furore macht. Vorsicht: DeepSeek zensiert jede Form von Kritik am chinesischen Regime, die in den korrekten Antworten stecken könnte. DeepSeek lernt hier relativ schnell dazu, aber wenn man es unvorbereitet trifft, dann erscheint zuerst eine faktisch korrekte Antwort voller Kritik am Regime, die dann aber nach wenigen Sekunden vom Bildschirm verschwindet. So hat sich DeepSeek in einer Antwort zum Fazit geäußert, dass China "zentralistische Kontrolle mit strikter Unterdrückung von Autonomie- und Unabhängigkeitsbestrebungen ..." ausübt. Ich habe den Chatverlauf mit der verschwindenden Antwort gefilmt: http://www.cadcal.de/Deepseek-kritische-Antwort-verschwindet.mp4Auch wenn man deshalb ALLE Antworten von DeepSeek unter Vorbehalt stellen muss, scheint es bei nicht-politischen Fragestellungen aber recht gute Antworten zu geben. Ich habe deshalb nach einem AutoLISP-Programm gefragt, dass eine Eiche als Lindenmayer-System zeichnet. Den Chatverlauf mit dem Versuch, erste Ergebnisse von DeepSeek debuggen zu lassen, habe ich hier abgelegt: http://www.cadcal.de/DeepSeek-L-System.htm Zunächst habe ich mich vergewissert, dass DeepSeek weiß, was ein Lindenmayer-System ist, habe nach der grundsätzlichen Formulierung einer Eiche als L-System gefragt, und dann um die Umsetzung als AutoLisp Code gebeten. Es kam ein vernünftig aussehendes Programm zustande. Da waren noch einige semantische Fehler (command-Übergabe mit "(0 0 0)" anstelle "(list 0 0 0)" bzw "0,0,0") drin, auf die ich DeepSeek hingewiesen habe. Diese wurden korrigiert. Auch ein logischer Fehler (Deepseek ging davon aus, dass AutoLisp Turtle-Grafik kann) wurde rasch beseitigt. Weitere logische Fehler durch nicht ganz verstandene Rekursionen wurden zwar zugegeben, und es gab mehrfach Versuche der Korrektur, aber eine funktionierende Lösung gab es nicht. DeepSeek hat dann bei der 6. oder 7. Rückfrage den Chat abgebrochen (die Meldung "The server is busy. Please try again later." erscheint immer als Ausrede, wenn DeepSeek auf vertiefte Rückfragen nicht eingehen will). Fazit: DeepSeek kann man auch als Lisp-Laie verwenden, um AutoLisp Funktionen programmieren zu lassen. Für das Debuggen von Fehlern im erzeugten Programm durch DeepSeek sollte man über Lisp-Kenntnisse verfügen. Aber als Lisp-Programmierer kann man sich von DeepSeek vermutlich schnell das Grundgerüst für eine Funktion erstellen lassen, an der man dann aber noch selbst weiter arbeiten muss. Sehr einfache Lisp-Funktionen wird DeepSeek aber alleine zustande bringen.
Ich habe auch verschiedene Versionen von Deepseek auf dem lokal installierten Ollama ausprobiert. Diese kontroversen Themen sind für die 32b Variante kein Problem zu erklären. 1.5b- 8b vermeiden die Frage mit der Begründung, dass sie nicht fähig sind, eine Antwort zu geben, aber 32b beantwortet sie einfach (meiner Meinung nach ohne Partei zu ergreifen, ich habe die Proteste auf dem Platz des 1989 Protests in China, Tank Man und den 9/11 Attacks gefragt und er hat die Situation erklärt, ohne Partei zu ergreifen und sogar mögliche Verschwörungstheorien wie Inside Job bei 11. September 2001 erwähnt. Aufgrund dieser vielseitigen Meinungen zu verschiedenen Themen denke ich im Moment positiv über die lokale Version. Ich muss noch die Programmierung im Allgemeinen und LISP für unseren Anwendungsfall in AutoCAD ausprobieren. Aber die Tatsache, dass es nicht hinter einer "subscription- pay wall" blockiert ist und lokal auf einem Offline-Computer läuft, ist ein großer Vorteil.
------------------ Kadir Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
  
 Beiträge: 980 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 01. Feb. 2025 10:11 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von archtools: Zunächst habe ich mich vergewissert, dass DeepSeek weiß, was ein Lindenmayer-System ist, habe nach der grundsätzlichen Formulierung einer Eiche als L-System gefragt, und dann um die Umsetzung als AutoLisp Code gebeten. Es kam ein vernünftig aussehendes Programm zustande.
Die exakt gleiche Frage habe ich ChatGPT gestellt. Das gelieferte Programm hatte ganz deutlich schlechtere Qualität als das von DeepSeek. Es fehlten alle lokalen Variablendeklarationen, es wurden Lisp-Funktionen aufgerufen, die gar nicht existieren, und es wurden Funktionsaufrufe in einer mir unbekannten Programmiersprache darin verwendet. Ein echter Debug-Chat kam dabei nicht zustande, weil sich ChatGPT an seinen eigenen, im Chatverlauf bereits abgegebenen Code nicht mehr erinnern wollte. Als ich um Nachlieferung einer Funktionsdefinition für die im Code verwendete Funktion fragte, erinnerte sich ChatGPT nicht mehr, und verweigerte die weitere Arbeit. Wenn ich Schulnoten für die beiden Varianten geben soll, dann kriegt DeepSeek eine 4 (ausreichend), ChatGPT aber eine klare 6 (ungenügend). Mit dem von DeepSeek ausgegebenen Programm kann man als Programmierer (!) weiter arbeiten, mit dem von ChatGPT nicht. Ich habe beiden KIs noch die Aufgabe gestellt, eine AutoLisp Funktion zu definieren, die den von einem gegebenen Punkt auf eine Linie projezierten Punkt zurück gibt. Das Ergebnis von DeepSeek hatte einen kleinen Fehler, nämlich eine Zuweisung an eine Variable namens T. Nach Mitteilung der Fehlermeldung erkannte DeepSeek, dass das ein geschütztes Symbol ist, und hat den Code korrigiert. Er funktioniert einwandfrei. V.a. ist der von DeepSeek gegebene Code auch semantisch völlig korrekt, und enthält lokale Variablendeklarationen und die Rückgabe des gewünschten Ergebnisses. ChatGPT hat auch bei dieser Aufgabe völlig versagt. Auch hier gab es den Versuch der Zuweisung an die Variable T. Aber beim Hinweis darauf erinnerte sich ChatGPT schon nicht mehr an seinen vorher ausgegebenen Programmcode und antwortete "Um den Code zu korrigieren, solltest du einen anderen Namen für deine Variable wählen. Hier ist ein Beispiel, wie du das machen könntest: (setq myVar T) ; Statt T eine andere Variable verwenden Wenn du mir den spezifischen Code zeigst, den du korrigieren möchtest, kann ich dir gerne helfen, ihn anzupassen!" Das von ChatGPT ausgegebene Programm enthielt zahlreiche weitere Fehler, so z.B. auch Funktionsaufrufe mit Funktionen, die es zwar in CommonLisp gibt, nicht aber in AutoLisp. Es wurde auch eine C:... Funktion geschrieben, die fälschlich Funktionsparameter übernimmt. Lokale Variablen wurden nicht deklariert, und auch keine explizite Übergabe des gewünschten Ergebnisses. Das Ergebnis war unbrauchbar, und es konnte nicht mit Hilfe von ChatGPT debugged werden. Schulnoten hier: DeepSeek 2 (gut), ChatGPT 6 (ungenügend) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
    
 Beiträge: 1776 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 04. Feb. 2025 22:47 <-- editieren / zitieren --> Unities abgeben:          Nur für archtools
ich habe mit ChatGPT mal versucht kleine Funktion schreiben zu lassen, eher interessant als hilfreich. Aber mit der super Suchmaschine muss ich Sebastian auf jeden Fall zustimmmen. DeepSeek werde ich aber bestimmt demnächst mal ausprobieren. Wo meiner Meinung nach Chat-GPT&Co gut zu nutzen sind ist für die Analyse eines Codes, ich habe das mal wie folgt probiert und fand das Ergebnis gut. Also zum Lernen der Sprache ist das sicherlich hilfreich: Hier meine Frage und die Antwort:
Erkläre mit bitte folgenden AutoLISP-Programmcode:
Code:
(defun TextMitteZentrisch (ename / P VLA-OBJ)(setq vla-obj (vlax-ename->vla-object ename)) (setq p (vla-get-InsertionPoint vla-obj)) (vla-put-alignment vla-obj 10) (vla-move vla-obj (vla-get-InsertionPoint vla-obj)p) (vla-update vla-obj) )
ChatGPT:
Dieser AutoLISP-Code definiert eine Funktion namens TextMitteZentrisch, die darauf abzielt, die Ausrichtung eines Textobjekts in AutoCAD auf "zentriert" zu setzen und es korrekt zu positionieren. Hier ist eine schrittweise Erklärung des Codes:
1. Funktionsdeklaration
Code:
(defun TextMitteZentrisch (ename / P VLA-OBJ)
TextMitteZentrisch ist der Name der Funktion. ename ist ein Parameter und erwartet die Eingabe eines Entitätsnamens (z. B. ein Textobjekt in AutoCAD). Der / trennt die Eingabeparameter von den lokal deklarierten Variablen. Die lokalen Variablen sind hier P und VLA-OBJ. 2. Objektreferenz erstellen
Code:
(setq vla-obj (vlax-ename->vla-object ename))
Mit vlax-ename->vla-object wird der AutoCAD-Entitätsname (ename) in ein VLA-Objekt umgewandelt, das für ActiveX-Methoden verwendet werden kann. vla-obj repräsentiert das Textobjekt, das bearbeitet werden soll. 3. Einfügepunkt des Textes abrufen
Code:
(setq p (vla-get-InsertionPoint vla-obj))
vla-get-InsertionPoint holt die Koordinaten des Einfügepunkts des Textobjekts. Der Einfügepunkt wird in der Variablen p gespeichert. Dieser Punkt wird später für die Neuausrichtung genutzt. 4. Ausrichtung auf zentriert setzen
Code:
(vla-put-alignment vla-obj 10)
vla-put-alignment ändert die Ausrichtung des Textobjekts. 10 ist der numerische Code für die zentrierte Ausrichtung (Middle Center) in AutoCAD. 5. Position anpassen
Code:
(vla-move vla-obj (vla-get-InsertionPoint vla-obj) p)
Hier wird das Objekt mit vla-move verschoben. Der Startpunkt ist der neue Einfügepunkt (nach der Änderung der Ausrichtung). Der Endpunkt (p) ist der ursprüngliche Einfügepunkt. Damit wird sichergestellt, dass sich der Text nicht bewegt, obwohl seine Ausrichtung geändert wurde. 6. Aktualisierung erzwingen
Code:
(vla-update vla-obj)
vla-update stellt sicher, dass die Änderungen an dem Objekt sofort sichtbar werden. Gesamtfunktion Die Funktion nimmt ein Textobjekt, setzt dessen Ausrichtung auf "zentriert" und justiert die Position, sodass der Text optisch an derselben Stelle bleibt, obwohl die Ausrichtung geändert wurde. Beispielanwendung:
Code:
(TextMitteZentrisch (car (entsel "Wählen Sie einen Text aus: ")))
entsel lässt den Benutzer ein Textobjekt auswählen. Der Entitätsname (ename) wird an die Funktion übergeben. Nach der Ausführung ist der Text zentriert ausgerichtet. ------------------ viele Grüße Jörn http://www.bosse-engineering.com Der Multifilter (V 1.1) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |