Ce face Instrucțiunea Modelfile TEMPLATE
TEMPLATE conține șablonul complet al promptului transmis modelului. Poate include, opțional, mesajul de sistem, mesajul utilizatorului și răspunsul modelului. Sintaxa poate depinde de model, iar șabloanele folosesc sintaxa text/template din Go (nu Jinja).
Variabilele disponibile sunt {{ .System }} (mesajul de sistem), {{ .Prompt }} (mesajul utilizatorului) și {{ .Response }} (răspunsul modelului; la generare, textul de după această variabilă este omis).
Modelele din bibliotecă au deja un șablon. Îl vezi cu ollama show MODEL --template sau în ollama show MODEL --modelfile. Prin API, câmpul template din /api/generate înlocuiește temporar șablonul din Modelfile.
Sintaxă și opțiuni
| Opțiune / Parametru | Descriere |
|---|---|
{{ .System }} |
Mesajul de sistem care specifică comportamentul. |
{{ .Prompt }} |
Mesajul utilizatorului. |
{{ .Response }} |
Răspunsul modelului. La generare, textul de după variabilă este omis. |
Exemple practice
Exemplul 1: Șablon în stil ChatML (din Modelfile Reference)
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
"""
Exemplul 2: Afișarea șablonului unui model
ollama show llama3.2 --template
Greșeli frecvente și bune practici
- Scrii șablonul în sintaxa Jinja copiată de pe Hugging Face. Ollama folosește șabloane Go.
- Folosești un șablon care nu corespunde tokenilor speciali ai modelului importat. Pornește de la șablonul modelului de bază, afișat de
ollama show --template. - Uiți să pui secvențe
PARAMETER stoppentru tokenii de final de tură, cum face Modelfile-ul generat deollama show.