Inhaltsverzeichnis
Große Sprachmodelle (LLMs)
Große Sprachmodelle (LLMs) haben das Potenzial, den Lernenden individuelle Unterstützung zu geben und das Programmieren insgesamt zu verändern. Java-Editor bietet integrierte Unterstützung für LLM-gestütztes Programmieren, das in zwei Formen verfügbar ist.
- Ein im Editor verfügbarer Programmierassistent.
- Ein integrierter Chat zur Interaktion mit einem LLM-Modell.
Sowohl Cloud-basierte als auch lokale LLMs werden unterstützt:
- Cloud-basierte LLMs
- OpenAI-Modelle wie (GPT-3.5 Turbo und GPT-4o)
- Gemini-Modelle wie (1.5 Flash und 1.5 Pro) von Google
- Lokale LLMs
- llama3 und codellama von Meta
- gemma von Google
- starcoder2 von Nvidia
- phi und wizardlm von Microsoft
- und viele, viele andere
Voraussetzungen der LLM-Integration
OpenAI
Sie müssen sich bei OpenAI registrieren und einen API-Schlüssel erstellen. Der API-Schlüssel kann entweder ein Projektschlüssel oder ein Legacy-Benutzerschlüssel sein. Bitte beachten Sie, dass dies ein kostenpflichtiger Dienst ist. Sie müssen also entweder:
- einen Zahlungsplan abschließen oder
- Guthaben auf Pay-as-you-go-Basis hinzufügen
Ein Guthaben von 10 $ kann bei der Verwendung von OpenAI mit Java-Editor sehr hilfreich sein. Siehe auch die OpenAI-Preise. Beachten Sie, dass das ältere GPT-3.5 Turbo-Modell 10-mal günstiger ist als das neuere GPT-4o-Modell, das wiederum viel günstiger ist als seine Vorgänger gpt-4-turbo und gpt-4.
Gemini
Sie benötigen einen API-Schlüssel und müssen dazu mit einem Google-Konto angemeldet sein. Obwohl es sich um einen kommerziellen Dienst handelt, ist die Nutzung des Preismodells Text Embedding 004 kostenlos, sodass es sich hervorragend für die Verwendung mit Java-Editor eignet.
Ollama
Im Gegensatz zu den cloudbasierten Anbietern OpenAI und Gemini werden Ollama-Modelle lokale ausgeführt.
Warum Sie LLMs lokal ausführen möchten? Hier sind einige Gründe:
- Große Auswahl an Open-Source-LLM-Modellen.
- Sparen Sie Geld, da es kostenlos ist.
- Vielleicht möchten Sie tiefer eintauchen und mit Modellparametern wie Temperatur und Strafe spielen.
- Trainieren Sie Modelle mit Ihren oder den Daten Ihres Unternehmens.
Um Ollama zu verwenden, benötigen Sie:
- eine ziemlich moderne und schnelle CPU.
- eine moderne und leistungsstarke GPU mit mindestens 6 GB Speicher. Beispielsweise kann eine relativ günstige Nvidia GeForce RTX 3060 mit 12 GB Speicher eine gute Leistung erzielen.
- Ziemlich viele GB freien schnellen Festplattenspeicher.
Ansonsten kann die Benutzung frustrierend langsam sein.
Installation von Ollama
Sie müssen zuerst das Ollama-Installationsprogramm herunterladen und installieren. Beachten Sie, dass nach der Installation bei jedem Start von Windows automatisch ein Ollama-Windows-Dienst gestartet wird.
Ollama-Modelle installieren
Ollama bietet Zugriff auf eine große Anzahl von LLM-Modellen wie Codegemma von Google und Codelllama von Meta. Um ein bestimmtes Modell zu verwenden, müssen Sie es lokal installieren. Sie können dies von einer Eingabeaufforderung aus tun, indem Sie den Befehl eingeben:
ollama pull model_name
Danach können Sie das lokale Modell mit Java-Editor verwenden.
Der Assistent funktioniert derzeit mit dem Modell codellama:code und seinen Varianten. Sie können Modelle wie codellama, codegemma, starcoder2 und deepseek-Coder-V2 mit dem Chat verwenden. Für jedes Modell können Sie die größte Modellgröße auswählen, die bequem in Ihren GPU-Speicher passt. Beispielsweise ist codellama:13b-code-q3_K_M eine codellama:code-Variante mit einer Größe von 6,3 GB, die mit einer GPU mit 8 GB oder mehr Speicher verwendet werden kann. Bedenken Sie, dass die Modellantwort umso langsamer ist, je größer das Modell ist, aber die Qualität der Antworten umso höher ist.
Der LLM-Assistent
Sie können den LLM-Assistenten über das Kontextmenü des Editors aufrufen.
Die ersten drei Befehle sind nur verfügbar, wenn ein Teil des Codes ausgewählt ist.
Erkläre
Bitten Sie den Assistenten, den ausgewählten Codeabschnitt zu erklären. Die Erklärung erfolgt in Form von Kommentaren.
Fehler beheben
Bitten Sie den Assistenten, die Fehler im ausgewählten Codeabschnitt zu beheben. Der Assistent soll außerdem die Art der ursprünglichen Probleme und ihre Lösung anhand von Kommentaren im Code erklären.
Optimiere
Bitten Sie den Assistenten, den ausgewählten Codeabschnitt zu optimieren. Die Optimierungen sollen die ursprüngliche Funktionalität des Codes beibehalten.
Vorschlagen
Fordern Sie vom Assistenten einen Vorschlag zur Codevervollständigung an. Dies ist nur verfügbar, wenn im Editor keine Auswahl vorhanden ist.
Abbrechen
Abbrechen einer ausstehenden Anfrage. In allen oben genannten Fällen wird ein Aktivitätsindikator angezeigt. Sie können eine Anfrage auch abbrechen, indem Sie auf den Aktivitätsindikator klicken.
In der Konfiguration von Java-Editor werden Einstellungen des LLM-Assistenten eingetragen, insbesondere der API-Schlüssel.
Das Vorschlagsfenster des LLM-Assistenten
Alle Antworten des LLM-Assistenten werden in einem Popup-Vorschlagsfenster angezeigt:
Sie können die Antwort bearbeiten, bevor Sie einen der folgenden Befehle ausführen:
Akzeptieren (Tab)
Fügt den Inhalt des Vorschlags an der Cursorposition ein.
Wort akzeptieren (Strg+Rechts)
Akzeptiert nur das erste Wort des Vorschlags.
Zeile akzeptieren (Strg+Enter)
Akzeptiert nur die erste Zeile des Vorschlags.
Abbrechen (Esc)
Ignorieren Sie den Vorschlag und kehren Sie zum Editor zurück.
Das LLM-Chat-Fenster
Das LLM-Chat-Fenster dient der Interaktion mit Large Language Models (LLMs), ohne den Java-Editor zu verlassen. Man ruft es über das Fenster-Menü auf.
Es bietet Folgendes:
- Der Chat ist nach mehreren Themen organisiert
- Jedes Thema kann einen eigenen Titel haben
- Der Chatverlauf kann gespeichert und wiederhergestellt werden
- Java-Code wird syntaktisch hervorgehoben
- Java-Code kann einfach in einen Code-Editor kopiert werden
- Innerhalb jedes Themas bleibt der Konservationskontext erhalten
Symbolleistenbefehle:
Neues Thema
Fügt ein neues Chatthema hinzu.
Aktuelles Thema entfernen
Entfernt das aktuelle Chatthema.
Chatverlauf speichern
Speichert Chatthemen in einer JSON-Datei namens „Chat history.json“ im selben Verzeichnis wie JavaEditor.ini. Der Chatverlauf wird automatisch wiederhergestellt, wenn Java-Editor wieder gestartet wird.
Titel
Geben Sie dem aktuellen Thema einen Titel. Der Thementitel wird im Fenstertitel angezeigt.
Nächstes/Vorheriges Thema
Zeigt das nächste/vorherige Thema an.
Einstellungen des LLM-Chat-Fenster werden in der Konfiguration vorgenommmen.
Das Chat-Kontextmenü
Kopieren
Kopiert die Frage oder Antwort unter dem Cursor in die Zwischenablage.
Code kopieren
Kopiert den Python-Code unter dem Cursor in die Zwischenablage.
Code in neuen Editor kopieren
Kopiert den Python-Code unter dem Cursor in einen neuen Editor, damit Sie ihn problemlos testen können.
Prompts eingeben
Um Ihre Anfrage zu senden, drücken Sie Strg+Eingabe oder klicken Sie auf das Chat-Symbol rechts neben der Frage.