Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Sourcecode mit KI erstellen
#1
Zusammenfassung der Informationen zu verschiedenen Code-Modellen

1. DeepSeek-Coder:

◦ Zusammensetzung: DeepSeek-Coder besteht aus einer Reihe von Code-Sprachmodellen, die jeweils von Grund auf auf 2 Billionen Tokens trainiert wurden. Sie bestehen zu 87 % aus Code und zu 13 % aus natürlicher Sprache in Englisch und Chinesisch.

◦ Modellgrößen: DeepSeek-Coder bietet verschiedene Modellgrößen von 1B bis 33B an.

◦ Leistung: Es erzielt erstklassige Ergebnisse auf verschiedenen Benchmarks für Open-Source-Code-Modelle in mehreren Programmiersprachen.

◦ DeepSeek-Coder erzeugt in der Regel qualitativ hochwertigen Code.
Es wurde speziell für die Verarbeitung von Programmiersprachen entwickelt und bietet gute Ergebnisse in Python, Java, C++ und anderen Sprachen.

◦ Qualität hängt jedoch von der spezifischen Aufgabe und dem Kontext ab. Manchmal kann der generierte Code unerwartete Fehler enthalten oder nicht den besten Stil aufweisen.

2. WizardCoder:

◦ Modellgröße: Das WizardCoder-Modell mit 15B Tokens hat beeindruckende Leistungen gezeigt. Die 33B-Version übertrifft sogar ChatGPT 3.5 und Gemini Pro auf HumanEval und MBPP.

◦ WizardCoder hat sich als leistungsstarkes Modell erwiesen. Es kann komplexe Aufgaben bewältigen und bietet oft korrekten und gut strukturierten Code.

◦ Dennoch sollte man den generierten Code immer überprüfen und gegebenenfalls anpassen, um sicherzustellen, dass er den Anforderungen entspricht.

3. CodeLlama:

◦ Modellgröße: CodeLlama-34B ist ein leistungsstarkes Modell.

◦ Vergleich: Im Vergleich zu CodeLlama-34B übertrifft DeepSeek-Coder-Base-33B auf HumanEval Python, HumanEval Multilingual, MBPP und DS-1000.

◦ CodeLlama-Modelle liefern ebenfalls qualitativ hochwertigen Code. Sie sind auf verschiedene Programmiersprachen spezialisiert und können bei der Lösung von Entwicklungsproblemen hilfreich sein.

◦ Wie bei anderen Modellen ist es ratsam, den generierten Code zu überprüfen und gegebenenfalls zu optimieren.

4. GitHub Copilot:

◦ Beschreibung: GitHub Copilot ist ein KI-Tool, das in Visual Studio Code integriert ist. Es hilft beim Schreiben von Code, indem es kontextbezogene Vorschläge und automatische Vervollständigungen bietet.

◦ Leistung: Es ist ein leistungsstarkes Werkzeug, das auf maschinellem Lernen basiert und von OpenAI entwickelt wurde.

◦ GitHub Copilot ist ein nützliches Tool für Entwickler. Es kann schnelle Vorschläge und automatische Vervollständigungen bieten.

◦ Qualität hängt jedoch von der spezifischen Aufgabe und dem Kontext ab. Es ist immer ratsam, den generierten Code zu überprüfen und zu testen.

Die Top 10 AI-Code-Generatoren, die derzeit den Markt dominieren

1. GitHub Copilot:

◦ GitHub Copilot ist eine bahnbrechende KI-gestützte Codierungsunterstützung, die bei Entwicklern für Aufsehen gesorgt hat. Es ist eher ein Paarprogrammierer als ein einfacher Code-Generator und unterstützt Sie beim Schreiben von besserem Code.

2. DeepSeek-Coder:

◦ DeepSeek-Coder besteht aus einer Reihe von Code-Sprachmodellen, die jeweils von Grund auf auf 2 Billionen Tokens trainiert wurden. Es bietet verschiedene Modellgrößen von 1B bis 33B an und erzielt erstklassige Ergebnisse in mehreren Programmiersprachen.

3. WizardCoder:

◦ WizardCoder mit 15B Tokens hat beeindruckende Leistungen gezeigt. Die 33B-Version übertrifft sogar ChatGPT 3.5 und Gemini Pro auf HumanEval und MBPP.

4. CodeLlama:

◦ CodeLlama-34B ist ein leistungsstarkes Modell, das qualitativ hochwertigen Code erzeugt. Im Vergleich zu CodeLlama-34B übertrifft DeepSeek-Coder-Base-33B auf HumanEval Python, HumanEval Multilingual, MBPP und DS-1000.

5. TabNine:

◦ TabNine ist ein KI-Code-Generator, der auf maschinellem Lernen basiert und kontextbezogene Vorschläge bietet. Es ist besonders nützlich für schnelle Codevervollständigungen.

6. Kite:
◦ Kite ist ein KI-gestütztes Tool, das kontextbezogene Code-Vorschläge in Echtzeit bietet. Es ist in verschiedenen IDEs und Texteditoren verfügbar.

7. OpenAI Codex:
◦ Codex ist ein leistungsstarkes Modell, das auf GPT-3 basiert und speziell für das Generieren von Code entwickelt wurde. Es kann in verschiedenen Programmiersprachen verwendet werden.

8. Sourcery:

◦ Sourcery analysiert Ihren Code und bietet automatische Verbesserungsvorschläge. Es hilft, den Code zu optimieren und Best Practices einzuhalten.

9. CodeAI:

◦ CodeAI ist ein KI-Tool, das auf maschinellem Lernen basiert und Codevervollständigungen, Refaktorisierungsvorschläge und Fehlererkennung bietet.

10. CodeGPT:

◦ CodeGPT ist ein Modell, das auf GPT-3 basiert und speziell für das Generieren von Code entwickelt wurde. Es kann in verschiedenen Programmiersprachen eingesetzt werden.

Diese Tools bieten eine enorme Produktivitätssteigerung und helfen Entwicklern,
qualitativ hochwertigen Code zu erstellen.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



[-] The following 2 users say Thank You to Manfred Aabye for this post:
  • Bogus Curry, Pius Noel
Zitieren
#2
Codeium
habe ich heute entdeckt.

Codeium ist ein kostenloses, KI-gestütztes Toolkit zur Codebeschleunigung. Derzeit bietet Codeium KI-generierte automatische Vervollständigung in über 70 Programmiersprachen (einschließlich Python, JS, TS, Java, Go, C/C++ usw.) und über 40 IDEs (VSCode, JetBrains, Jupyter-Notebooks, Colab, Vim/Neovim usw.) .

Mit den von Codeium generierten schnellen mehrzeiligen Codevorschlägen können Sie den Zeitaufwand für die Suche nach APIs und Dokumentation, das Schreiben von Boilerplate- und Unit-Tests sowie andere sich wiederholende oder frustrierende Aufgaben einsparen. Codeium basiert auf Milliarden von Zeilen öffentlichen Codes und beschleunigt Ihre Entwicklung. Es hilft Ihnen, im Flow-Zustand zu bleiben, sodass Sie der bestmögliche Programmierer werden.

https://sourceforge.net/software/product/Codeium/
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



[-] The following 3 users say Thank You to Manfred Aabye for this post:
  • Bogus Curry, Dorena Verne, Pius Noel
Zitieren
#3
Hat jemand eine Idee woran es liegen könnte, dass bei mir mit Codeium die Tastenkombinationen mit der Alt-Taste nicht funktionieren? Ich benutzte Codeium mit Visual Studio Code unter Linux (Ubuntu 23.10) mit Schweizer Tastatur. Für meine Arbeitsweise wäre es wichtig, dass die Tasten Alt+], Alt+[ und Alt+A richtig funktionieren. Wenn das nicht funktioniert, finde ich das Tool eher hinderlich als nützlich, weil ich dann nur mit der Maus durch die Vorschläge scrollen kann und nicht mit der Tastatur.

Edit (16.4.2024 15:05): Ich habe das Problem in den Keyboard Mapping Settings der Codeium Extension gefunden. Dort war nichts eingetragen. Ich konnte für die gewünschten Funktionen einfach die gewünschte Zeichenfolge an der Tastatur eingeben und speichern. Nachdem ich VSCode danach neu gestartet habe hat es funktioniert. Mal schauen ob das Ganze etwas bringt, denn irgendwie kann ich mich mit den KI-Dingern nicht richtig anfrunden.
[-] The following 2 users say Thank You to Pius Noel for this post:
  • Bogus Curry, Manfred Aabye
Zitieren
#4
Ich weiß gar nicht, wozu man Alt + A braucht. Ich benutze nur CTRL, SHIFT und ALT GR.
Coedium ist eigentlich ganz einfach.
Code auswählen, dann wird dir der Shortcode angezeigt
meist CTRL + I
das drückst du und gibst ein was Coedium für dich machen soll
Beispiel: Dokumentiere
und der dokumentiert dir deinen Sourcecode.

Bei Vervollständigung braucht man nur die TAB Taste drücken und es wird der Code eingefügt.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



Zitieren
#5
Ok. Dann muss ich annehmen, dass es an der Umbegung liegt (IDE, Betriebssystem). Die Alt-A Taste kommt bei mir an mehreren Stellen vor (die von mir nachstehend erwähnten Menüs sieht man in meinen Beispielen nicht, da man sie nicht übernehmen kann; sie sind klein, in dezenter Schriftfarbe, manchmal mit einem Symbol und im Editor immer direkt über dem relevaten Code eingebettet).

Angenommen ich habe in meinem Code folgende Funktion:
Code:
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, World!")
    })
Jetzt wähle ich diese Funktion aus und drücke <ctrl>+I, dann erscheint ein "Codium Command" Fenster.
In diesem Fenster schreibe ich "Change the output from hello world to Hi there!".
Dann drücke ich <ctrl>+<shift>+<enter> oder klicke mit der Maus rechts unten auf "Codeium: Submit".

Jetzt erscheint ein neues Fenster mit einem Änderungsvorschlag.
Code:
<<<<<<<<<<<<<<  ✨ Codeium Command ? >>>>>>>>>>>>>>>>
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
+        fmt.Fprintf(w, "Hi there!")
-        fmt.Fprintf(w, "Hello, World!")
    })
<<<<<<<  97cb9157-ed42-4806-a7b9-3622dc622c48  >>>>>>>

Wenn ich den gemachten Vorschlag annehmen will, dann geht das nur, wenn ich mit der Mause oben links im "Codeium Command"-Fenster das Häcklein neben "Accept anklicke" oder Alt-A drücke um den Vorschlag zu übernehmen.

Ein anderes Beispiel:
Angenommen ich erstelle in meinem Go-Code an passender Stelle einen Kommentar in folgender Art:
Code:
// Create a User type with a struct for username, password, email, first name, last name, role and active flag.

Jetzt brauche ich gar nichts zu klicken; nach ein paar Sekunden erscheint folgender Code-Vorschlag:
Code:
type User struct {
    Username string
    First    string
    Last     string
    Email    string
    Password string
    Role     string
    Active   bool
}
Hier erscheint oben links wieder ein Menü. Hier kann ich jetzt den Codevorschlag mit <tab> übernehmen.

Später möchte ich mein Programm für Testzwecke mit Test-Daten ergänzen. Hier wird es jetzt interessant. Codeium füllt jetzt eine Slice mit fiktiven Userdaten, macht dabei aber nicht nur einen Vorschlag sondern mehrere. Hier kann ich mit Alt+] oder Alt+[ vorwärts und rückwärts durch die Liste scrollen und jeweils mit Alt+A diejenigen Vorschläge auswählen, die ich übernehmen möchte.

Das sind dann diejenigen Momente, bei denen ich von der KI profitieren kann und wo sie mich nicht nur nervt.

Im nachstehenden Beispiel habe ich zuerst im Codeium Chat Fenster mit dem Befehl "create a simple go app" ein Grundgerüst eines Web-Servers erstellt. Danach habe ich, wie oben beschrieben, "Hello World" in "Hi there" ändern lassen und den "User Type" erstellen lassen.

Der Rest geht aus den Kommentaren hervor, die ich genau so geschrieben habe, wie sie da stehen. Alles andere war dann nur noch den vorgeschlagenen Code zu akzeptieren oder eine Alternative zu wählen. Ich habe dabei keine einzige Zeile Code geschrieben. Das Resultat erzielte ich innert rund 3 Minuten. Es ist ein funktionierender einfacher HTTP-Webserver der im Browser die erstellten Testdaten ausgibt.
Code:
package main

import (
    "fmt"
    "net/http"
)

type User struct {
    Username string
    First    string
    Last     string
    Email    string
    Password string
    Role     string
    Active   bool
}

func main() {
    // create a list of users
    users := []User{
        // add some users
        {
            Username: "admin",
            First:    "admin",
            Last:     "admin",
            Email:    "admin",
            Password: "admin",
            Role:     "admin",
            Active:   true,
        },
        {
            Username: "user",
            First:    "user",
            Last:     "user",
            Email:    "user",
            Password: "user",
            Role:     "user",
            Active:   true,    
        },
        {
            Username: "guest",
            First:    "guest",
            Last:     "guest",
            Email:    "guest",
            Password: "guest",
            Role:     "guest",
            Active:   true,        
        },
        {
            Username: "disabled",
            First:    "disabled",
            Last:     "disabled",
            Email:    "disabled",
            Password: "disabled",
            Role:     "disabled",
            Active:   false,        
        },
        {
            Username: "deleted",
            First:    "deleted",
            Last:     "deleted",
            Email:    "deleted",
            Password: "deleted",
            Role:     "deleted",
            Active:   false,
        },
    }

    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hi there!")
    })

    http.HandleFunc("/users", func(w http.ResponseWriter, r *http.Request) {
        // loop through the users and write them to the response
        for _, user := range users {
            fmt.Fprintf(w, "%s, %s, %s, %s, %s, %s, %t\n", user.Username, user.First, user.Last, user.Email, user.Password, user.Role, user.Active)
        }
        
    })

    fmt.Println("Listening on port 8080...")
    http.ListenAndServe(":8080", nil)
}
[-] The following 2 users say Thank You to Pius Noel for this post:
  • Bogus Curry, Manfred Aabye
Zitieren
#6
Du musst der KI genau sagen, was sie machen soll.
KI´s sind wie Kleinkinder, in der Windel ist das, was du oben einfüllst.
"create a simple go app" ist keine exakte Fragestellung.
Erstelle in Go einen funktionsfähigen HTML-Webserver mit folgenden Funktionen … Blah Blah Blah
Wenn du nicht exakt bist, dann macht sie gerne Beispiele in den Sourcecode, das kannst du mit dem Wort "funktionsfähigen" unterbinden.
Natürlich hat das ganze noch überall ecken und kanten, aber die Vorteile wiegen das auf denke ich.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



[-] The following 2 users say Thank You to Manfred Aabye for this post:
  • Bogus Curry, Dorena Verne
Zitieren
#7
Irgendwie reden wir gerade aneinander vorbei.

Ich wollte ganz schnell eine einfache App erstellen, nur um dir zu zeigen, wo ich die Alt-Tasten benutze.

Alles was ich gemacht habe hat genau genau dem entsprochen was ich wollte. Ich wollte kein HTML, kein Schnick-Schnack, rein gar nichts, ausser einem Go-Type (User) der sich anschliessend im Code für repetitive Arbeiten super eignet. Für meine Arbeitsweise ist das eine der Stärken der KI.
[-] The following 2 users say Thank You to Pius Noel for this post:
  • Bogus Curry, Manfred Aabye
Zitieren
#8
OK, ich hab jetzt nochmal getestet, normal drücke ich akzeptieren, aber ALT + A funktioniert genauso gut.
(Windows 10 22H2 - Visual Studio Code 1.81.1 user setup Windows_NT x64 10.0.19045 + 74 Erweiterungen)
Vieles in VSC ist schon so in Fleisch und Blut übergegangen, dass ich da gar nicht mehr drüber nachdenke.
Kann das sein, dass es an Golang liegt? Kann das überhaupt Codeium? Ich habe Go noch nie benutzt und kenne mich nicht damit aus.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



[-] The following 1 user says Thank You to Manfred Aabye for this post:
  • Bogus Curry
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Menu erstellen,wie;) Ezry Aldrin 3 7.269 10.08.2010, 12:50
Letzter Beitrag: Rebekka Revnik

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste