System-Prompts für Ollama
Was dieser Artikel über System-Prompts behandelt
- Was ein System-Prompt ist und wie er funktioniert.
- Wie man System-Prompts in Ollama nutzt.
- Beispiele für verschiedene Rollen und Formate.
- Wie man Ausgaben strukturiert und Fehler vermeidet.
- Unterschied zwischen System-, User- und Assistant-Prompts.
Einleitung: System-Prompts für Ollama
Ein System-Prompt legt fest, wie sich ein Sprachmodell verhalten soll: welche Rolle es einnimmt, welche Regeln gelten und wie Antworten aussehen sollen. Anders als normale Nutzer-Prompts bleibt der System-Prompt über die gesamte Konversation aktiv. Bei Ollama kann er in der API, in Modelfiles oder über das Modell-Verhalten mitgegeben werden. Wer System-Prompts gezielt einsetzt, bekommt konsistentere und brauchbarere Antworten.
Dieser Artikel zeigt, wie System-Prompts aufgebaut sind und welche Muster sich bewährt haben.
Wichtige Begriffe
- System-Prompt: Steuernde Anweisung auf Systemebene.
- User-Prompt: Normale Nutzerfrage oder Aufgabe.
- Assistant: Antwort des Modells.
- Rolle: Charakter oder Aufgabe des Modells.
- Regel: Einschränkung oder Vorgabe für das Verhalten.
- Format: Struktur der Ausgabe.
- Token: Kleinste Einheit, die das Modell verarbeitet.
Aufbau eines System-Prompts
Ein guter System-Prompt enthält:
- Rolle: Was ist das Modell?
- Ziel: Was soll es erreichen?
- Regeln: Was ist erlaubt und was nicht?
- Format: Wie sollen Antworten aussehen?
- Beispiele: Optional, aber hilfreich.
Beispiel
Du bist ein technischer Berater für lokale KI. Beantworte Fragen präzise und auf Deutsch. Wenn eine Information unbekannt ist, sage es ehrlich. Strukturiere Antworten mit Überschriften und Listen.
System-Prompt in der API
curl http://localhost:11434/api/chat -d '{
"model": "llama3.1",
"messages": [
{"role": "system", "content": "Du bist ein freundlicher Assistent."},
{"role": "user", "content": "Hallo"}
]
}'
System-Prompt im Modelfile
FROM llama3.1
SYSTEM """
Du bist ein technischer Berater für lokale KI. Antworte präzise und mit Beispielen.
"""
PARAMETER temperature 0.3
Gute und schlechte System-Prompts
Gut
- Kurz und spezifisch.
- Klare Rollen und Regeln.
- Einfache Sprache.
- Keine unnötigen Details.
Schlecht
- Zu lang.
- Vage Formulierungen.
- Widersprüchliche Regeln.
- Zu viele verschachtelte Bedingungen.
- Nutzt Kontext-Token unnötig.
Beispiele für verschiedene Anwendungen
Coding-Assistent
Du bist ein erfahrener Python-Entwickler. Schreibe sauberen, kommentierten Code. Erkläre kurz, was der Code tut. Weise auf mögliche Fehlerquellen hin.
RAG-Assistent
Du beantwortest Fragen ausschliesslich anhand des bereitgestellten Kontexts. Wenn die Antwort nicht im Kontext steht, gib an, dass keine passende Information vorliegt. Zitiere relevante Abschnitte.
Übersetzer
Du bist ein professioneller Übersetzer. Übersetze Texte stilistisch sauber und sinngemäss. Gib keine Erklärungen, ausser sie werden angefragt.
Lehrer
Du bist ein geduldiger Lehrer. Erkläre Konzepte einfach und mit Alltagsbeispielen. Stelle am Ende eine kurze Verständnisfrage.
Sicherer Assistent
Beantworte nur Fragen, die sich auf dokumentierte Fakten stützen. Leiste keine spekulativen oder sensiblen Aussagen. Verweise auf offizielle Dokumentation.
System-Prompt und Temperatur
Ein präziser System-Prompt funktioniert am besten mit niedriger Temperatur:
PARAMETER temperature 0.1
PARAMETER top_p 0.9
Für kreative Aufgaben kann die Temperatur höher sein.
Modellverhalten beobachten
Nicht jedes Modell folgt System-Prompts gleich gut. Manche Modelle neigen dazu, Systemanweisungen zu ignorieren oder in Antworten zu übernehmen. Wichtig:
- Mehrere Modelle testen.
- Verhalten bei langen Gesprächen prüfen.
- Formatierungsregeln regelmässig wiederholen.
- Bei kritischen Formaten JSON oder Markdown erzwingen.
Dynamische System-Prompts
In Anwendungen kann der System-Prompt je nach Kontext angepasst werden:
system_prompt = "Du bist ein Experte für Netzwerke." if topic == "netzwerk" else "Du bist ein Experte für Coding."
So bleibt das Verhalten flexibel.
Typische Stolpersteine
- Zu langer System-Prompt: Verbraucht wertvollen Kontext.
- Widersprüche: Modell wählt willkürlich.
- Keine Formatvorgaben: Antworten sind unstrukturiert.
- Ignoriertes Prompting: Manche Modelle folgen System-Prompts schlecht.
- Falsche Reihenfolge: System-Prompt muss am Anfang stehen.
- Von Benutzer überschrieben: Manche Anwendungen lassen Nutzer den System-Prompt ändern, was Sicherheitsrisiken birgt.
Weiterführende Links und Infos
- BotServ.de Ollama Modelfiles
- BotServ.de Ollama Prompt-Engineering
- BotServ.de Ollama für Coding
- BotServ.de RAG mit Ollama
FAQ: System-Prompts für Ollama
Wie wichtig ist der System-Prompt? Sehr wichtig, besonders bei kleineren Modellen.
Kann ich mehrere System-Prompts verwenden? Technisch ja, praktisch sollte nur einer pro Gespräch aktiv sein.
Wird der System-Prompt in der Ausgabe sichtbar? Nein, er steuert nur das Verhalten.
Brauche ich einen System-Prompt für einfache Fragen? Nicht immer, aber er sorgt für konsistentere Antworten.
Kann der Nutzer den System-Prompt überschreiben? In reinen Ollama-API-Anwendungen ja, wenn nicht anders implementiert.
Quellen und weiterführende Literatur
- Ollama Modelfile Docs: https://github.com/ollama/ollama/blob/main/docs/modelfile.md
- Prompting Guide: https://www.promptingguide.ai/
- System Messages Best Practices: https://platform.openai.com/docs/guides/prompt-engineering
Zusammenfassung: System-Prompts für Ollama
System-Prompts sind ein mächtiges Werkzeug, um Ollama-Modelle gezielt zu steuern. Sie definieren Rolle, Regeln und Ausgabeformat für die gesamte Konversation. Kurze, präzise und widerspruchsfreie System-Prompts funktionieren am besten, besonders in Kombination mit niedriger Temperatur und passenden Modellparametern. Wer System-Prompts in Modelfiles oder der API konsequent einsetzt, erhält deutlich vorhersehbarere und nützlichere Antworten.


