{"id":29671,"date":"2023-03-11T23:15:16","date_gmt":"2023-03-11T22:15:16","guid":{"rendered":"https:\/\/pi3g.com\/?p=29671"},"modified":"2023-03-11T23:15:20","modified_gmt":"2023-03-11T22:15:20","slug":"practical-coding-questions-answered-by-gpt3-is-it-ready-for-the-prime-time","status":"publish","type":"post","link":"https:\/\/pi3g.com\/de\/practical-coding-questions-answered-by-gpt3-is-it-ready-for-the-prime-time\/","title":{"rendered":"Praktische Fragen zur Kodierung werden von GPT3 beantwortet: Ist es bereit f\u00fcr die Primetime?"},"content":{"rendered":"<p>Sie k\u00f6nnen GPT3 ganz einfach selbst ausprobieren. Registrieren Sie sich einfach f\u00fcr ein OpenAI-Konto, und Sie erhalten (zum Zeitpunkt der Erstellung dieses Artikels) 18 USD Guthaben. Gehen Sie auf den folgenden Link:<\/p>\n\n\n\n<p><a href=\"https:\/\/platform.openai.com\/playground\">https:\/\/platform.openai.com\/playground<\/a><\/p>\n\n\n\n<p>Hier k\u00f6nnen Sie Ihre Frage eingeben und abschicken. GPT3 antwortet in demselben Textfeld. <\/p>\n\n\n\n<p>Es gibt drei Parameter, die von unmittelbarem Interesse sind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Modell <\/strong>- Ich schlage vor, diese Anzeige text-davinci-003 zu lassen. Sie k\u00f6nnen auch mit Codex, Code-davinci-002 experimentieren<\/li>\n\n\n\n<li><strong>Temperatur. <\/strong>0,7 ist der Wert, den ich normalerweise verwende (steuert die Zuf\u00e4lligkeit der Antwort \/ wie \"kreativ\" GPT3 wird)<\/li>\n\n\n\n<li>Maximale L\u00e4nge - wie viele Token soll das Modell maximal erzeugen? Beachten Sie, dass die volle Anzahl von Token, die Sie eingeben, auch auf das technische Limit angerechnet wird - derzeit 4000 Token f\u00fcr text-davinci-003<\/li>\n<\/ul>\n\n\n\n<p>Token sind \u00fcbrigens die grundlegende \"W\u00e4hrungseinheit\", man kann sie sich als W\u00f6rter oder Teile von W\u00f6rtern vorstellen. Kurze und gebr\u00e4uchliche englische W\u00f6rter sind normalerweise ein Token, w\u00e4hrend l\u00e4ngere W\u00f6rter in mehrere Token aufgeteilt werden. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verwendung von GPT3 zur Beschleunigung Ihrer Codierung<\/h2>\n\n\n\n<p>Jeder Entwickler wei\u00df, dass ein gro\u00dfer Teil der Entwicklungsarbeit darin besteht, nach Bibliotheken zu suchen, zu lesen, wie man APIs verwendet und wie man mit verschiedenen Objekten arbeitet. <\/p>\n\n\n\n<p>Ich habe begonnen, GPT3 als Hilfe bei der Programmierung von JavaScript zu verwenden, und habe es auch bei Crystal Lang ausprobiert. <\/p>\n\n\n\n<p>(Teile von PiCockpit sind in Crystal Lang kodiert - weil ich ein Fan der Sprache Ruby bin, und Crystal Lang eine Ruby-\u00e4hnliche Syntax und eine C-\u00e4hnliche Performance haben soll). <\/p>\n\n\n\n<p>Sie hat sich bei verschiedenen Gelegenheiten als n\u00fctzlich erwiesen, z. B. bei der Kl\u00e4rung von Fragen wie der, ob ich in der JSON-Syntax Leerzeichen zwischen Schl\u00fcsseln und Werten einf\u00fcgen sollte. Oder wie man die Syntax von \"require\" in \"import\" f\u00fcr JavaScript umwandelt. <\/p>\n\n\n\n<p>Sie ist gut darin, Fragen zu beantworten, und sie wird Ihnen nur sehr selten sagen, dass sie die Frage nicht beantworten kann. Das Wichtigste ist jedoch, dass Sie es mit einer statistischen Maschine zu tun haben. <\/p>\n\n\n\n<p>Und manchmal sehen die Antworten zwar plausibel aus, fallen aber auseinander, wenn man den Code ausprobiert. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Beispiel f\u00fcr eine fehlgeschlagene JavaScript-GPT3-Hilfeaufforderung<\/h2>\n\n\n\n<p>F\u00fcr ein Projekt musste ich E-Mail-Adressen mit node.js validieren. GPT3 schlug die Bibliothek \"emailvalidator\" vor und gab einen einfachen Beispielcode an. Als ich versuchte, ihn auszuf\u00fchren, schlug er fehl. <\/p>\n\n\n\n<p>Ich habe mir dann die Dokumentation der \"emailvalidator\"-Bibliothek angesehen, die tats\u00e4chlich existiert. Es stellte sich heraus, dass diese Bibliothek (nach meinem Verst\u00e4ndnis) Redis und eine kompliziertere Einrichtung im Allgemeinen erfordert. Ein Overkill f\u00fcr meine einfache Anwendung. GPT3 hat mich in seinem Beispielcode nicht auf diese Tatsache hingewiesen.<\/p>\n\n\n\n<p>Die \u00e4hnlich benannte npm-Bibliothek \"email-validator\" tut jedoch genau das, was ich brauche.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Beispiel f\u00fcr eine erfolgreiche Crystal lang GPT3-Abfrage<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>crystal lang try except block give code example<\/strong>\n\nbeginnen\n  #-Code, der eine Ausnahme ausl\u00f6sen kann\nrescue SomeError =&gt; e\n  #-Code zur Behandlung der Ausnahme\nelse\n  #-Code, der ausgef\u00fchrt wird, wenn keine Ausnahmen ausgel\u00f6st wurden\nsicherstellen\n  #-Code wird immer ausgef\u00fchrt, unabh\u00e4ngig davon, ob Ausnahmen aufgetreten sind oder nicht\nEnde<\/code><\/pre>\n\n\n\n<p>Gut, um Ihrem Ged\u00e4chtnis auf die Spr\u00fcnge zu helfen - Sie brauchen nicht zu googeln, auf eine Seite zu klicken, durch die Dokumentation zu bl\u00e4ttern - Sie haben die Antwort direkt zur Hand. Wenn Sie hier und da ein paar Sekunden einsparen, sparen Sie jeden Tag Minuten, jedes Jahr Tage und vielleicht sogar Wochen an Entwicklungszeit. <\/p>\n\n\n\n<p>Wenn Sie die Antworten in einem pr\u00e4gnanteren Format erhalten, k\u00f6nnen Sie au\u00dferdem Ihren Gedankenfluss beibehalten - sehr wichtig beim Programmieren!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Crystal lang GPT3 Hilfe Ausfall Beispiel 1<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>Kristall lang, Kemal. Wie kann ich einen Pfad von before_all ausschlie\u00dfen?<\/strong>\n\nSie k\u00f6nnen einen Pfad vom before_all-Hook ausschlie\u00dfen, indem Sie die Option :except verwenden. Diese Option nimmt ein Array von Pfaden als Argument und schlie\u00dft diese Pfade vom before_all-Hook aus. Um zum Beispiel den Pfad '\/admin\/' von before_all auszuschlie\u00dfen, w\u00fcrden Sie before_all mit dem folgenden Code aufrufen:\n\nbefore_all :except =&gt; ['\/admin\/'] do\n  # Ihr Code hier\nend<\/code><\/pre>\n\n\n\n<p>Vorsichtig: <strong>der obige Code funktioniert nicht!<\/strong><\/p>\n\n\n\n<p>Kemal ist ein Router f\u00fcr Crystal Lang, man kann sich vorstellen, dass es eine \u00e4hnliche Sache wie Sinatra ist, oder zu dr\u00fccken.<\/p>\n\n\n\n<p>Der Code sieht einigerma\u00dfen plausibel aus, ich habe ihn ausprobiert und er l\u00e4sst sich nicht kompilieren. Ich habe dann die Kemal-Dokumentation, den Quellcode und die offenen Fragen von KemaL durchgesehen. Keine Erw\u00e4hnung dieses mythischen :au\u00dfer Schl\u00fcssel. <\/p>\n\n\n\n<p><strong>GPT3 hat sich das gerade ausgedacht.<\/strong><\/p>\n\n\n\n<p>Hier ist der richtige Weg, um eine Ausnahme zu before_all in Kemal zu codieren:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>before_all do |env|\r\n  next if env.request.path == \"\/admin\/\"\r\n  # Ihr Code hier\nend<\/code><\/pre>\n\n\n\n<p>Ich fand diese Informationen in einer <a href=\"https:\/\/github.com\/kemalcr\/kemal\/issues\/638\">kemal.cr Ticket<\/a>. Dieser Code wurde von mir getestet und l\u00e4sst sich tats\u00e4chlich kompilieren. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Crystal lang GPT3 Hilfe Ausfall Beispiel 2<\/h2>\n\n\n\n<p>Au\u00dferdem musste ich die aktuelle Zeit (UTC) in eine Unix-Epoche umrechnen. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>crystal lang: Wie kann ich Time.utc in den Unix-Zeitstempel umwandeln?\r\n\r\nSie k\u00f6nnen die Methode Time#to_i verwenden, um ein Time-Objekt in einen Unix-Zeitstempel zu konvertieren.\r\n\r\ntime = Time.utc(2020, 5, 15, 10, 10, 0)\r\nunix_Zeitstempel = time.to_i # 1589492200<\/code><\/pre>\n\n\n\n<p><strong>Vorsichtig: <\/strong>Der obige Code macht wiederum <strong>nicht <\/strong>kompilieren!<\/p>\n\n\n\n<p>Obwohl es plausibel sein k\u00f6nnte, dass es eine solche Methode gibt, gibt es keine solche Methode in der <a href=\"https:\/\/crystal-lang.org\/api\/1.7.2\/Time.html\">Crystal Lang API f\u00fcr Zeit<\/a>.<\/p>\n\n\n\n<p>Der richtige Code lautet:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>unix_Zeitstempel = Time.utc.to_unix<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Schlussfolgerung: GPT3 ist hilfreich, aber testen Sie seine Leistung!<\/h2>\n\n\n\n<p>GPT3 ist in der Tat hilfreich bei der L\u00f6sung von allgemeinen Programmierfragen. Es kann Bibliotheken vorschlagen, Fragen zu Syntax, Best Practices und vielem mehr beantworten. <\/p>\n\n\n\n<p>Behandeln Sie sie wie einen erfahrenen Programmierer, der Dinge aus dem Ged\u00e4chtnis zitiert und gelegentlich Dinge durcheinanderbringt oder erfindet. Das liegt in der Natur von statistischen Antworten - da wir Menschen als API-Entwickler dazu neigen, im Code das \"Erwartete\" zu tun (was andere Programmierer in den von ihnen genutzten APIs erwarten), werden diese Antworten oft funktionieren. <\/p>\n\n\n\n<p>Au\u00dferdem hat GPT3 beim Lernen durch den riesigen Korpus von Online-Daten eine MENGE Code und Code-Beispiele gesehen. Es hat eine Menge g\u00fcltiger Muster gelernt. <\/p>\n\n\n\n<p>Genau wie ein Mensch, der gezwungen ist, aus dem Ged\u00e4chtnis zu zitieren, anstatt nachzuschlagen bzw. zu wissen, wo man etwas nachschlagen kann, wird auch GPT3 diese gelegentlichen Fehler machen.<\/p>\n\n\n\n<p>Aber es spart Ihnen trotzdem Zeit und weist Ihnen oft den richtigen Weg.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GPT3, ChatGPT und OpenAI API Beratung<\/h2>\n\n\n\n<p>Wir bieten Beratungsdienste f\u00fcr diese KI-APIs an - von gesch\u00e4ftlichen Anwendungsf\u00e4llen bis hin zu schl\u00fcsselfertigen Komplettl\u00f6sungen. <a href=\"https:\/\/pi3g.com\/de\/contact\/\">Setzen Sie sich noch heute mit uns in Verbindung, um Ihre Anforderungen zu besprechen und eine kostenlose Erstberatung \u00fcber GPT3, ChatGPT und andere moderne KI-APIs zu erhalten.<\/a>!<\/p>","protected":false},"excerpt":{"rendered":"<p>Sie k\u00f6nnen GPT3 ganz einfach selbst ausprobieren. Registrieren Sie sich einfach f\u00fcr ein OpenAI-Konto, und Sie erhalten (zum Zeitpunkt der Erstellung dieses Artikels) 18 USD Guthaben. Gehen Sie auf den folgenden Link: https:\/\/platform.openai.com\/playground Hier k\u00f6nnen Sie Ihre Frage eingeben und abschicken. GPT3 wird im selben Textfeld antworten. Es gibt drei...<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[402,1020],"tags":[1024,1023,1027,477,1026,1021,600,990,1025],"class_list":["post-29671","post","type-post","status-publish","format-standard","hentry","category-development","category-gpt3-chatgpt-openai-whisper-dall-e","tag-ai","tag-chatgpt","tag-coding-support-by-gpt3","tag-crystal-lang","tag-examples","tag-gpt3","tag-javascript","tag-node-js","tag-openai"],"_links":{"self":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts\/29671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/comments?post=29671"}],"version-history":[{"count":1,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts\/29671\/revisions"}],"predecessor-version":[{"id":29672,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts\/29671\/revisions\/29672"}],"wp:attachment":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/media?parent=29671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/categories?post=29671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/tags?post=29671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}