OllamaLokal AI

Ollamas promptmall: skilj chattformat från systemprompt

Börja med modellens lagrade TEMPLATE. Ändra sedan SYSTEM i en egen variant och jämför samma frågor innan du rör rollgränser eller stoppsekvenser.

Publicerad · Senast granskad

En svart datorliknande modul på ett mörkt bord, med tre platta ramar framför sig, ett litet kort på den första och turkosa linjer in mot modulen.
Promptmallen ordnar meddelandena till modellen; systemprompten är en instruktion som ingår i det formatet.

Du vill få modellen att svara på svenska, men hittar en lång rad med klamrar och rollmarkörer i dess Modelfile. Ska instruktionen skrivas där? Dela först upp arbetet i två frågor: hur samtalet paketeras och vilken instruktion assistenten får. Annars blir ett språkprov samtidigt ett byte av chattformat, och resultatet blir svårt att tolka.

I Ollamas Modelfile-referens anger TEMPLATE hela promptmallen. SYSTEM anger systemmeddelandet som mallen kan använda. Syntaxen kan vara modellspecifik. Börja därför med just din modells befintliga mall; en snygg mall från en annan modell är ingen verifiering av att den passar här.

1. Spara vad du faktiskt har

Öppna en separat arbetsmapp för provet. Läs modellnamnen med ollama ls, kommandot för att lista modeller i CLI-referensen. Välj en installerad chattmodell och kopiera hela namnet inklusive tagg. Välj inte ett namn ur artikelns exempel på chans. Anteckna datum, modellnamn och den version som din installation rapporterar.

ollama --version
ollama ls
# PowerShell: ersätt texten med ett exakt namn ur listan
$modell = 'DITT_LOKALA_MODELLNAMN:TAGG'
ollama show --modelfile $modell | Set-Content -Encoding utf8 ./Modelfile.original

ollama show --modelfile är det dokumenterade sättet att visa en modells Modelfile. Behåll originalfilen orörd som referens. Om kommandot inte fungerar i din installation, kontrollera dess hjälptext innan du fortsätter. Ett provkort utan versionsuppgift lämnar nästa felsökning med en obesvarad fråga: jämför du samma programbeteende?

2. Läs rollgränserna före instruktionen

Markera början och slutet av TEMPLATE-blocket i exporten. Leta sedan efter var systemtexten, användartexten och assistentens tur hamnar. Ollamas mallguide beskriver bland annat .System, .Prompt och meddelandelistan .Messages med fälten .Role och .Content. Din mall behöver inte använda alla dessa former.

Gå igenom ett tänkt samtal med två turer på papper: en användarfråga, ett assistentsvar och nästa användarfråga. Peka ut vilken del av mallen som går igenom historiken och var assistenten ska börja fortsätta. Syftet är att förstå den lagrade mallen, inte att förenkla den tills den ser bekant ut.

Mallguiden visar skilda markörer i sina Llama- och ChatML-exempel. Klistra därför inte in ChatML som en allmän reparation. Ta inte heller bort ett avslut för att det ser ut som skräptext. Spara modellens befintliga rollgränser, blanksteg och avslut som jämförelsebas medan du testar systeminstruktionen.

Läs även varje befintlig PARAMETER stop-rad. Referensen beskriver stoppsekvenser som strängar som avbryter genereringen när de påträffas; flera kan anges. Behåll dem i första provet. Att lägga till en stoppsträng och samtidigt ändra systemtexten gör det oklart vilken ändring som förkortade svaret.

3. Gör två kopior och ändra bara SYSTEM

Kopiera originalet till Modelfile.svenska-v1 och Modelfile.svenska-v2. I båda kopiorna byter du FROM-raden till ditt exakta lokala modellnamn, samma namn som du nyss granskade. FROM väljer basmodell enligt referensen. Behåll TEMPLATE och samtliga parametrar identiska mellan kopiorna. Om exporten innehåller exempelmeddelanden ska också de vara lika.

Sätt ett systemblock i varje kopia enligt paret nedan. Ersätt ett befintligt SYSTEM-block i stället för att lägga till ett andra. Kodblocken visar enbart delen som ska skilja sig; resten av filerna består av samma exporterade innehåll. Om mallen saknar en väg för systemtexten stannar du här och jämför med modellens ursprungliga dokumentation.

# SYSTEM i Modelfile.svenska-v1
SYSTEM """Du är en hjälpsam assistent."""
# SYSTEM i Modelfile.svenska-v2
SYSTEM """Du är en hjälpsam assistent. Svara på svenska."""

Bygg med två lediga namn i ditt lokala modellbibliotek. Kontrollera listan först så att du inte återanvänder ett namn du behöver behålla. Referensens byggexempel använder create med ett modellnamn och flaggan -f för filen.

ollama create promptprov-svenska-v1 -f ./Modelfile.svenska-v1
ollama create promptprov-svenska-v2 -f ./Modelfile.svenska-v2
ollama show --modelfile promptprov-svenska-v1
ollama show --modelfile promptprov-svenska-v2

Granska exporterna igen: är systemtexten rätt, och är mall och parametrar lika? Fortsätt först när den avsedda skillnaden går att peka ut. Här ändrar du instruktioner kring samma basmodell; dra inga slutsatser om nyträning eller ändrade modellvikter från ett annorlunda svar.

4. Bedöm språk och format var för sig

Använd frågan nedan i två fristående körningar per variant. Ändra varken frågan eller några samplinginställningar mellan varianterna. Bevara också samma kontextinställning och körmiljö. Artikeln om temperatur, seed och upprepade frågor äger variationstestet; här ska sådana val ligga stilla så att du kan bedöma formatet.

ollama run promptprov-svenska-v1 "Explain why a backup should be tested. Use exactly two sentences."
ollama run promptprov-svenska-v2 "Explain why a backup should be tested. Use exactly two sentences."

Spara varje helt svar tillsammans med modellnamnet. Ge språkkravet en poäng om båda meningarna är på svenska, annars noll. Ge meningskravet en separat poäng om svaret består av exakt två meningar, annars noll. Anteckna synliga rollmarkörer i ett eget fält med den exakta strängen. Bedöm inte ett längre svar som bättre när uppgiften beställde två meningar.

Det ger fyra svar att granska, inte ett kvalitetsbetyg på modellen. En svensk v1 och en svensk v2 är ett fullt möjligt utfall; då visar just dessa frågor ingen skillnad i språkkravet. Om v2 växlar språk mellan körningarna dokumenterar du det i stället för att välja det snyggaste svaret. Provet är en kontroll av en tydlig instruktion, ingen garanti om framtida följsamhet.

När rolltaggar syns: kontrollera flera lager

Om svaret innehåller exempelvis en rollmarkör, börja med att spara hela frågan och svaret. Kontrollera om frågan själv innehöll taggar eller bad modellen att visa ett chattprotokoll. Jämför därefter med en fristående körning via kommandoraden. Skillnad mellan klienterna ger ett konkret spår att undersöka, men bevisar inte ensam var felet ligger.

Granska sedan klientens skickade data. Chat-API:t tar en meddelandelista med roll och innehåll. Kontrollera att klienten skickar avsedda roller och inte råkar bädda in ett färdigformaterat protokoll i innehållet. Använder du i stället generate-API:t, kontrollera särskilt om raw är aktiverat: det kringgår promptmallningen. Den inställningen gäller det API:t.

Jämför slutligen TEMPLATE och stopp med din sparade originalfil och modellens ursprungliga mall. Har du importerat modellen själv behöver även ursprunget granskas; fortsätt då i artikeln om GGUF och Modelfile. Synliga taggar är en felsökningssignal. De räcker inte som bevis för att just TEMPLATE är fel, och en ändrad temperatur ska inte behandlas som en verifierad formatreparation.

Spara ett beslut som går att följa upp

Skriv vilket systemblock du behåller och vad svaren visade. Spara originalfilen, båda provfilerna, versionsuppgiften, frågan och de fyra svaren tillsammans. Om nästa steg kräver en ändrad mall gör du det i ytterligare en variant och håller systemtexten fast. Då kan du jämföra ett formatbyte utan att samtidigt byta instruktion.


Källor och metod

Primärkällorna som länkas vid respektive uppgift är Ollamas Modelfile-referens, mallguide, CLI-referens samt dokumentationen för chat och generate. De kontrollerades 23 okt 2026. Kod och poängkriterier är ett föreslaget läsarprov; redaktionen har inte kört modellerna eller mätt en förbättring. Dokumentationen är löpande, så anteckna din egen version och kontrollera kommandonas hjälptext vid avvikelse.

Läs vidare
GGUF-import och Modelfile
→