Ollama Modelfile: Erstellen und anpassen eigener Modell
Ollama kann mehr als nur bestehende Modelle herunterladen: Mit einer Textdatei aus wenigen Zeilen erstellen Sie Ihre eigenen Varianten. Ein Modelfile ist das Gegenstück zu einem Dockerfile für LLMs – es legt einen Systemprompt, Sampling-Parameter und eine Gesprächsvorlage fest. Dieser Leitfaden zeigt anhand von drei konkreten Beispielen, wie Sie Ollama mit einem Modelfile anpassen: ein Assistent, der strikt auf Französisch antwortet, ein Python-Coder und ein Übersetzer ohne zusätzliche Kommentare.
#Warum ein Modelfile?
Wenn Sie ollama run qwen3.5:9b eingeben, erhalten Sie ein allgemeines Modell. Es antwortet manchmal auf eine französische Frage auf Englisch, versieht seine Code-Antworten mit endlosen Einleitungen und verhandelt, wenn Sie eine wörtliche Übersetzung verlangen. Anstatt denselben System-Prompt in jeder Sitzung zu wiederholen, legen Sie ihn einmal in einem Modelfile fest und erhalten eine wiederverwendbare Variante.
Konkret ermöglicht ein Modelfile drei Dinge: (1) dem Modell einen dauerhaften Systemprompt zuzuweisen, (2) die Generierungsparameter einzustellen (Temperatur, Kontext, Stop-Tokens), (3) optional die Chat-Vorlage zu ersetzen. Die erstellte Variante lässt sich wie jedes andere Ollama-Modell verwenden: ollama run mon-assistant.
#Voraussetzungen
Sie wissen, wie Sie ein Modell mit einem Modelfile anpassen. Das lokale KI-Kit installiert es in einem echten privaten ChatGPT für den ganzen Haushalt, mit Ollama und Open WebUI (Kap. 6), und hilft Ihnen, das passende Basismodell für Ihren Rechner auszuwählen (Kap. 3).
- Lebenslanger Online-Zugang
- PDF + Dateien
- Lebenslange Updates
- Ollama installiert
- Version 0.3 oder höher empfohlen. Überprüfen Sie die Version mit ollama --version. Der Daemon muss unter http://localhost:11434 laufen.
- Ein bereits abgerufenes Basismodell
- Zum Beispiel ollama pull qwen3.5:9b oder ollama pull qwen3-coder:30b. Das Modelfile erbt von diesem Modell.
- Ein Texteditor
- VSCode, Notepad++, vim — jeder dieser Editoren eignet sich. Eine bestimmte Dateiendung ist nicht vorgeschrieben; die Datei wird üblicherweise nach Konvention Modelfile genannt.
- Etwa 5 Minuten
- So lange, wie es dauert, die Datei zu erstellen und ollama create auszuführen. Kein zusätzlicher Download: Ein bereits vorhandenes Modell wird wiederverwendet.
#1. Syntax des Modelfiles
Ein Modelfile ist eine Textdatei mit Anweisungen in Großbuchstaben, jeweils eine pro Block. Die Reihenfolge spielt keine Rolle, aber üblicherweise steht FROM an erster Stelle.
Hauptanweisungen:
- FROM
- Basismodell. Erforderlich. Akzeptiert einen Ollama-Namen (qwen3.5:9b, qwen3.8:27b) oder einen lokalen Pfad zu einer GGUF-Datei.
- SYSTEM
- Der Systemprompt, der in jede Konversation eingefügt wird. Verwenden Sie dreifache Anführungszeichen für mehrzeilige Texte.
- PARAMETER
- Sampling- und Kontexteinstellungen. Eine Anweisung pro Parameter. Die nützlichsten: temperature, top_p, top_k, num_ctx, repeat_penalty, num_predict, stop.
- TEMPLATE
- Vollständiges Prompt-Format (selten). Nur ändern, wenn Sie wissen, was Sie tun — jede Modellfamilie hat ihre eigene Vorlage.
- MESSAGE
- Few-shot-Beispiele. Mit dem Präfix MESSAGE user oder MESSAGE assistant. Nützlich, um einen Stil zu fixieren.
- ADAPTER
- Pfad zu einem LoRA-GGUF, der auf das mit FROM angegebene Modell angewendet werden soll. Für fortgeschrittene Benutzer.
- LICENSE
- Freier Text, zur Nachverfolgbarkeit. Beeinflusst die Ausführung nicht.
#2. Das eigene erste Modell erstellen
Der Workflow ist immer gleich: Man schreibt ein Modelfile, führt ollama create aus und testet mit ollama run.
- 01Datei erstellenIn einem Arbeitsordner erstellen Sie eine Datei namens Modelfile (ohne Erweiterung) und fügen die Definition Ihrer Variante hinzu.
- 02Erstellung startenAus demselben Verzeichnis: ollama create mon-modele -f ./Modelfile. Ollama prüft die Syntax, übernimmt die Gewichte des mit FROM angegebenen Modells und speichert einen neuen Eintrag. Das geschieht sofort; es wird nichts erneut heruntergeladen.
- 03Prüfenollama list zeigt Ihr neues Modell neben den anderen. Die angezeigte Größe ist identisch mit der des Basismodells – es handelt sich um eine Referenz, nicht um eine Kopie.
- 04Testenollama run mon-modele. Der System-Prompt und die Parameter sind bereits angewendet. Sie können auch eine Benutzeroberfläche (Open WebUI, LM Studio) über die API auf diese Variante verweisen.
#3. Beispiel: französischsprachiger Assistent mit knappen Antworten
Ziel: ein Assistent, der stets auf Französisch antwortet, ohne Einleitung wie „Bien sûr, voici…“, ohne Entschuldigungsfloskeln und mit einer abgestimmten Antwortlänge.
Erstellung und Test:
repeat_penalty auf 1.15 (statt des Standardwerts 1.1) unterbindet ständige Wiederholungen des Modells. num_ctx auf 8192 ermöglicht es, etwas längere Dokumente einzufügen, ohne am standardmäßigen Kontextlimit von 2048 zu scheitern.
#4. Beispiel: Python-Code ohne Lautsprecher
Ziel: ein Code-Partner, der Python-Code zum direkten Einfügen liefert, mit möglichst wenig Begleittext. Ideal für Workflows, bei denen die Ausgabe per Pipe an einen Editor oder ein Skript weitergeleitet werden soll.
Einige bemerkenswerte technische Entscheidungen:
- FROM qwen3-coder:30b
- Auf Code spezialisiertes Modell aus dem Jahr 2026 (MoE 30B-A3B, nur 3B aktive Parameter, 256k Kontext, ~19 GB in Q4). Auf einer Karte mit 24 GB (RTX 4090) oder einem Mac mit 32 GB läuft es dank seiner 3B aktiven Parameter mit 50–80 Tokens pro Sekunde. Wenn Sie nur 16 GB VRAM haben, ersetzen Sie es durch gpt-oss:20b (14 GB) oder devstral:24b.
- temperature 0.2
- Für Code eine niedrige Temperatur wählen. Bei 0,7 (Standard) improvisiert das Modell Variablennamen und erfindet manchmal APIs. Bei Code ist deterministisches Verhalten erwünscht.
- num_ctx 16384
- Erweitertes Kontextfenster zur Analyse ganzer Dateien. Achtung: Vervielfacht den durch den Kontext verursachten VRAM-Verbrauch.
- stop
- Das Modell stoppt nach dem ersten Codeblock. Dadurch werden Erklärungen nach dem Code vermieden, die die Ausgabe verunreinigen.
#5. Beispiel: strenger Übersetzer EN→FR
Ziel: Ein Übersetzer, der AUSSCHLIESSLICH die Übersetzung zurückgibt, ohne Anführungszeichen, ohne "Übersetzung:", ohne stilistische Variation. Typischer Anwendungsfall: Integration in eine n8n-Pipeline oder ein Bash-Skript, in dem die Ausgabe unverändert weiterverarbeitet wird.
Das Hinzufügen von MESSAGE, um das Format durch Few-Shot-Beispiele zu verankern, macht das Verhalten noch vorhersehbarer:
Verwendung in einer Pipeline:
#6. Personalisierte Modelle verwalten
Im Laufe der Zeit werden Sie mehrere Varianten sammeln. Einige nützliche Befehle, um die Kontrolle zu behalten:
#7. Welches Basismodell sollte man wählen?
Jedes Modelfile beginnt mit FROM: Die Wahl des Basismodells bestimmt 90 % des Endergebnisses. Ein perfekter Systemprompt kann niemals ein Basismodell ausgleichen, das für Ihren Einsatzzweck ungeeignet oder für Ihren VRAM zu groß ist.
- Allgemeiner Assistent
- Ein aktuelles Modell mit 8 bis 14 Milliarden Parametern (aus der Qwen- oder Gemma-Familie) in Q4: reagiert schnell, ist gut auf Französisch und lässt Spielraum für den Kontext.
- Code
- Ein auf Code spezialisiertes Modell — MoE-Modelle wie Qwen3-Coder 30B-A3B sind schon ab 20 GB Speicher sehr schnell; darunter bleibt ein auf Code spezialisiertes 7–9B-Modell sinnvoll.
- Gehobenes Französisch / Schreiben
- Die Mistral-Modelle (Nemo, Magistral) behalten bei gleicher Größe ihren Vorteil im Französischen.
- Kleine Konfiguration (8 GB VRAM)
- Bleiben Sie bei Modellen mit 4 bis 9 Milliarden Parametern in Q4: Ein Modell, das teilweise in den Arbeitsspeicher ausgelagert wird, ruiniert die Reaktionsgeschwindigkeit, unabhängig vom Modelfile.
Um die Basismodelle nach VRAM, Lizenz und Nutzung zu vergleichen, filtert das QuelLLM-Katalog die mit Ihrem Gerät kompatiblen Modelle — jede Eintragsseite gibt den Befehl ollama run exacte für Ihre FROM-Anweisung bereit.
#Fehlerbehebung
- Das Modell ignoriert den System-Prompt
- Stellen Sie sicher, dass Sie tatsächlich Ihre Variante (ollama run mon-modele) starten und nicht das Basismodell. Überprüfen Sie dies mit ollama show --system mon-modele.
- Abgeschnittene Antworten
- Erhöhen Sie num_predict (Standardwert 128 in einigen Konfigurationen) auf 2048 oder höher. Oder fügen Sie PARAMETER num_predict -1 hinzu, um die Grenze zu deaktivieren.
- Das Modell hält sich nicht an eine strikte Regel
- Formulieren Sie die Regel in Großbuchstaben neu, fügen Sie „UNBEDINGT“ oder „NIEMALS“ hinzu und ergänzen Sie ein Beispiel über MESSAGE. Kleine Modelle (unter etwa 10B) haben Schwierigkeiten mit isolierten Verneinungen.
- Fehler „Error: invalid model reference“
- Das FROM-Modell ist nicht lokal installiert. Führen Sie ollama pull <modele> vor ollama create aus.
- VRAM nach der Erstellung vollständig belegt
- Ein hoher Wert für num_ctx vervielfacht den Speicherbedarf. Wenn Sie von 2048 auf 16384 erhöhen, rechnen Sie je nach Modellgröße mit 1 bis 3 GB zusätzlichem VRAM. Gehen Sie auf 8192 zurück, wenn der Speicher knapp wird.
#Weiterführende Informationen
Das Modelfile ist der Grundbaustein, um Ollama zu spezialisieren, ohne die Gewichte zu verändern. Drei naheliegende Richtungen, die Sie anschließend weiter erkunden können:
- Systemprompts noch fundierter beherrschen
- Der Leitfaden zu Systemprompts erläutert, wie Sie Rollen, Vorgaben und Beispiele strukturieren, um wirklich zuverlässiges Verhalten zu erzielen – hilfreich, sobald Ihr SYSTEM-Eintrag mehr als 5 Zeilen umfasst.
- Temperatur, top-p und top-k einstellen
- Bevor Sie Änderungen am Modell vornehmen, hilft es, genau zu verstehen, was jeder Sampling-Parameter verändert. Das erspart viel Hin und Her. Der Leitfaden zu diesem Thema behandelt alle nützlichen Einstellungen.
- Ihre Varianten über Open WebUI bereitstellen
- Sobald Ihre benutzerdefinierten Modelle erstellt sind, listet Open WebUI sie automatisch auf. Sie können in der Benutzeroberfläche mit einem Klick zwischen assistant-fr, coder-py und translator-en-fr wechseln.
Wie lassen sich die installierten Ollama-Modelle auflisten?+
Wo werden Ollama-Modelle gespeichert?+
Wie entferne ich ein Modell, um Speicherplatz freizugeben?+
Verbraucht ein benutzerdefiniertes Modell doppelt so viel Speicher auf der Festplatte?+
Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.