Skip to content
BotServBotServ
OllamaCodingCode-AssistentRefactoringProgrammierung

Ollama für Coding

Ollama mit Coding-Modellen nutzen. Beste Modelle, Prompting, FIM, Refactoring und lokale Entwickler-Assistenten.

S

schutzgeist

3 min read
Ollama für Coding

Ollama für Coding

Was dieser Artikel über Ollama-Coding behandelt

  • Welche Modelle sich für Code-Generierung eignen.
  • Wie man Ollama mit Editoren und IDEs verbindet.
  • Tipps für das Prompting von Code-Aufgaben.
  • FIM und Fill-In-the-Middle für Autovervollständigung.
  • Anwendungen wie Refactoring, Tests und Erklärungen.

Einleitung: Ollama für Coding

Lokale Coding-Assistenten sind mit Ollama heute sehr gut nutzbar. Spezialisierte Code-Modelle können Funktionen erzeugen, Code erklären, Fehler finden, Refactorings vorschlagen und Tests schreiben. Da alles lokal läuft, bleibt der Quellcode in der eigenen Umgebung. Das ist besonders für geschäftlichen oder sensiblen Code wichtig.

Dieser Artikel zeigt, welche Ollama-Modelle für Coding geeignet sind, wie man sie einrichtet und wie man sie am effektivsten nutzt.

Wichtige Begriffe

  • Code-Modell: Auf Programmcode spezialisiertes Sprachmodell.
  • FIM: Fill-In-the-Middle, Lücken in Code füllen.
  • Completion: Autovervollständigung von Code.
  • Refactoring: Code verbessern, ohne Verhalten zu ändern.
  • Unit-Test: Kleiner Test für eine einzelne Funktion.
  • Prompt Engineering: Gezielte Formulierung von Aufgaben.
  • IDE: Integrierte Entwicklungsumgebung.

Geeignete Modelle

Für Coding empfehlen sich folgende Modelle:

  • qwen2.5-coder: Starkes Coding-Modell, gute deutsche Sprache.
  • codellama: Code-optimierte Varianten von Llama.
  • codegemma: Kleine und schnelle Modelle von Google.
  • starcoder2: Spezialisiert auf Quellcode.
  • deepseek-coder: Gute Leistung bei grösseren Modellen.

Download:

ollama pull qwen2.5-coder:14b
ollama pull codellama:13b

Verbindung mit der IDE

Continue

Continue ist eine beliebte IDE-Erweiterung für VS Code und JetBrains. Sie kann mit Ollama verbunden werden:

{
  "models": [
    {
      "title": "Ollama Qwen",
      "model": "qwen2.5-coder:14b",
      "provider": "ollama"
    }
  ]
}

Open WebUI für Coding

Open WebUI kann ebenfalls mit Ollama-Coding-Modellen genutzt werden. Besonders praktisch für längere Erklärungen oder Refactorings.

Prompts für Coding

Gute Prompts sind konkret und enthalten Kontext:

Funktion schreiben

Schreibe eine Python-Funktion, die eine Liste von Zahlen sortiert und die 10 größten Werte zurückgibt.

Code erklären

Erkläre diesen Code in drei Sätzen:

```python
def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a

### Refactoring

```text
Refactore diesen Code, damit er übersichtlicher und fehlerfreier wird.

Tests schreiben

Schreibe Unit-Tests für die folgende Funktion mit pytest.

FIM und Fill-In-the-Middle

Manche Modelle unterstützen FIM, um Code an einer bestimmten Stelle zu vervollständigen. Das ist nützlich für Autovervollständigung in der IDE. Die Anfrage enthält Prefix und Suffix:

<FIM_PREFIX>
def greet(name):
    print(<FIM_SUFFIX>)
<FIM_MIDDLE>

Nicht alle Modelle unterstützen FIM nativ. Die IDE-Erweiterung muss dies ebenfalls unterstützen.

Nützliche Workflows

  1. Code-Vervollständigung: Modell ergänzt geöffnete Zeilen.
  2. Funktionsgenerierung: Prompt mit Eingabe, Ausgabe und Beispielen.
  3. Erklärung: Verständnis für komplexe Code-Stellen gewinnen.
  4. Refactoring: Code qualitativ verbessern.
  5. Tests: Testfälle automatisch generieren.
  6. Dokumentation: Kommentare und Docstrings schreiben.

Tipps für bessere Ergebnisse

  • Konkrete Programmiersprache nennen.
  • Eingabe, Ausgabe und Beispiele angeben.
  • Gewünschte Bibliotheken und Konventionen nennen.
  • Kontext aus Dateien mitgeben, wenn möglich.
  • Grössere Modelle für komplexe Aufgaben nutzen.
  • Ausgaben immer manuell prüfen.

Typische Stolpersteine

  • Falsches Modell: Allgemeine Chat-Modelle sind für Coding oft schlechter als Coder-Modelle.
  • Zu wenig Kontext: Modell kennt die Datei nicht.
  • FIM nicht unterstützt: Modell oder IDE fehlt.
  • Code-Qualität: Generierter Code muss geprüft werden.
  • Sicherheitslücken: Generierter Code kann fehlerhaft oder unsicher sein.
  • Langsame Inferenz: Grosse Modelle brauchen mehr VRAM.

FAQ: Ollama für Coding

Welches Modell ist am besten für Coding? qwen2.5-coder und codellama sind gute Einstiegsmodelle.

Kann ich Ollama in VS Code nutzen? Ja, über Erweiterungen wie Continue.

Ist generierter Code sicher? Nein, generierten Code immer prüfen und testen.

Wie gross sollte das Modell sein? 13B bis 34B liefern gute Coding-Ergebnisse. Kleinere Modelle reichen für einfache Aufgaben.

Was ist FIM? Fill-In-the-Middle, eine Technik zur Lückenvervollständigung im Code.

Quellen und weiterführende Literatur

Zusammenfassung: Ollama für Coding

Ollama eignet sich hervorragend, um lokale Coding-Assistenten zu betreiben. Coder-Modelle wie qwen2.5-coder oder codellama liefern gute Ergebnisse für Code-Generierung, Erklärung, Refactoring und Tests. Mit Erweiterungen wie Continue lässt sich Ollama direkt in die IDE integrieren. Wichtig sind konkrete Prompts, ausreichend Kontext und manuelle Prüfung des generierten Codes. Wer das richtig einsetzt, bekommt einen datenschutzfreundlichen Assistenten, der den eigenen Workflow spürbar unterstützen kann.

Zurück zum KI Blog
Share:

Ähnliche Beiträge