Ollama Modelfiles
Was dieser Artikel über Ollama-Modelfiles behandelt
- Was ein Modelfile ist und wozu es dient.
- Wie man eigene Modelle mit System-Prompts erstellt.
- Wichtige Parameter wie Temperatur und Kontextlänge.
- Wie man.gguf-Modelle und Adapter einbindet.
- Praxisbeispiele für Chat, Coding und RAG.
Einleitung: Ollama Modelfiles
Ollama-Modelfiles sind einfache Textdateien, die beschreiben, wie ein Modell geladen und verhalten werden soll. Damit lassen sich eigene Assistenten, spezialisierte Chatbots oder Coding-Modelle erstellen. Ein Modelfile legt das Basismodell fest, definiert System-Prompts, setzt Parameter und kann sogar zusätzliche Dateien wie LoRA-Adapter einbinden.
Dieser Artikel zeigt den Aufbau und gibt Beispiele für typische Modelfiles.
Wichtige Begriffe
- Modelfile: Bauanleitung für ein Ollama-Modell.
- FROM: Basismodell, auf dem das Modell aufbaut.
- SYSTEM: System-Prompt, der das Verhalten steuert.
- PARAMETER: Einstellung wie Temperatur oder Kontextlänge.
- MESSAGE: Beispielkonversation für Few-Shot-Lernen.
- ADAPTER: LoRA- oder andere Feintunings.
- LICENSE: Lizenzinformation.
Grundaufbau
FROM llama3.1
SYSTEM """
Du bist ein freundlicher Assistent für lokale KI. Antworte präzise und auf Deutsch.
"""
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
Erstellen:
ollama create mein-assistent -f Modelfile
ollama run mein-assistent
Wichtige Parameter
| Parameter | Beschreibung |
|---|---|
temperature | Kreativität, 0 bis 1. |
top_p | Nucleus-Sampling, 0 bis 1. |
top_k | Anzahl der Top-K-Tokens. |
num_predict | Maximale Anzahl Tokens. |
num_ctx | Kontextlänge. |
repeat_penalty | Wiederholungsstrafe. |
seed | Zufallsstart für Reproduzierbarkeit. |
Beispiel:
PARAMETER temperature 0.5
PARAMETER top_p 0.9
PARAMETER num_ctx 8192
PARAMETER repeat_penalty 1.2
System-Prompts
Der System-Prompt beschreibt die Rolle und Regeln des Modells. Er hat grossen Einfluss auf die Antwortqualität.
SYSTEM """
Du bist ein fachkundiger KI-Berater. Antworte kurz, präzise und mit konkreten Beispielen.
"""
Few-Shot-Beispiele
Mit MESSAGE kann man Beispielkonversationen festlegen:
MESSAGE user "Was ist Docker?"
MESSAGE assistant "Docker ist eine Plattform, um Anwendungen in Containern zu betreiben."
MESSAGE user "Wie starte ich einen Container?"
MESSAGE assistant "Mit dem Befehl `docker run <image>`."
Das hilft dem Modell, das gewünschte Antwortformat zu lernen.
Modell kopieren und anpassen
ollama cp llama3.1 mein-llama
Dann Modelfile für mein-llama erstellen und ein neues Modell daraus bauen.
Eigene GGUF-Modelle nutzen
Für selbst quantisierte oder von Hugging Face heruntergeladene Modelle:
FROM ./mein-modell.q4_K_M.gguf
SYSTEM """
Eigenes Modell, lokal betrieben.
"""
LoRA-Adapter einbinden
FROM llama3.1
ADAPTER ./mein-lora-adapter.bin
Der Adapter feintunt das Verhalten für spezielle Aufgaben.
Beispiel: Coding-Assistent
FROM qwen2.5-coder:14b
SYSTEM """
Du bist ein erfahrener Softwareentwickler. Schreibe sauberen, kommentierten Code und erkläre kurz, was er tut.
"""
PARAMETER temperature 0.2
PARAMETER num_ctx 8192
Beispiel: RAG-Assistent
FROM llama3.1
SYSTEM """
Du beantwortest Fragen ausschließlich anhand des bereitgestellten Kontexts. Wenn die Antwort im Kontext nicht enthalten ist, sage es ehrlich.
"""
PARAMETER temperature 0.1
PARAMETER num_ctx 8192
Beispiel: Kreatives Schreiben
FROM llama3.1
SYSTEM """
Du bist ein kreativer Schreibassistent. Schreibe ansprechende Texte mit ausgeprägtem Stil.
"""
PARAMETER temperature 0.8
PARAMETER top_p 0.95
Tipps
- System-Prompts kurz und präzise halten.
- Temperatur an Aufgabe anpassen.
- Kontextlänge nicht unnötig hoch setzen.
- Beispiele geben, wenn ein bestimmtes Antwortformat gewünscht ist.
- Ergebnisse testen und iterieren.
Typische Stolpersteine
- Falsches Format: Modelfile muss syntaktisch korrekt sein.
- Basismodell nicht verfügbar:
ollama pullvorher ausführen. - Kontext zu gross: Verlangsamt oder bricht ab.
- Falsche Parameter:
num_ctxwird manchmal ignoriert, wenn Modell es nicht unterstützt. - Zu langer System-Prompt: Verbraucht kostbaren Kontext.
- Adapter nicht kompatibel: LoRA muss zum Basismodell passen.
Weiterführende Links und Infos
- BotServ.de Ollama Befehle
- BotServ.de Ollama Modell-Lebenszyklus
- BotServ.de Ollama Performance
- BotServ.de Ollama für Coding
- BotServ.de RAG Wissensdatenbank
FAQ: Ollama Modelfiles
Brauche ich ein Modelfile? Nur, wenn man das Verhalten oder die Parameter eines Modells anpassen möchte.
Kann ich mehrere Parameter setzen?
Ja, beliebig viele PARAMETER-Zeilen sind erlaubt.
Wo speichere ich das Modelfile? Beliebig im Dateisystem, zum Beispiel im Projektverzeichnis.
Wie lösche ich ein erstelltes Modell?
Mit ollama rm <name>.
Kann ich das Modell teilen? Ja, indem das Modell exportiert oder das Modelfile dokumentiert wird.
Quellen und weiterführende Literatur
- Ollama Modelfile Docs: https://github.com/ollama/ollama/blob/main/docs/modelfile.md
- Ollama Library: https://ollama.com/library
- GGUF Format: https://github.com/ggerganov/ggml/blob/master/docs/gguf.md
Zusammenfassung: Ollama Modelfiles
Modelfiles sind die einfachste Möglichkeit, eigene Ollama-Modelle zu definieren. Sie legen Basismodell, System-Prompt, Parameter und Beispiele fest. Mit wenigen Zeilen lässt sich ein spezialisierter Assistent für Coding, RAG oder kreatives Schreiben bauen. Wichtig sind präzise Prompts, passende Parameter und ausreichende Tests. Wer Modelfiles beherrscht, kann Ollama deutlich gezielter für eigene Anwendungen einsetzen.


