Un Modelfile décrit comment construire une variante réutilisable d’un modèle dans Ollama. Il peut sélectionner une base, fixer des paramètres, ajouter une instruction système, définir le format de conversation et charger un adaptateur. Il ne réentraîne pas automatiquement le modèle : il rend surtout sa configuration reproductible.
Le fichier minimal
La directive FROM choisit le modèle de base ou un chemin compatible. SYSTEM définit le comportement général. PARAMETER fixe des valeurs comme la température ou la taille de contexte. Après création, donnez un nom explicite à la variante et testez-la avec des entrées représentatives.
Épinglez autant que possible la version de la base. Un nom flottant peut changer les résultats après une mise à jour.
SYSTEM n’est pas une barrière de sécurité
Une instruction système améliore la cohérence du rôle, du ton ou du format, mais elle peut être contournée ou entrer en conflit avec les entrées. Les autorisations, validations et secrets doivent rester dans le code de l’application. Évitez aussi d’insérer des informations sensibles dans le Modelfile, qui peut être partagé ou inspecté.
PARAMETER : partir sobrement
La température influence la diversité ; la taille de contexte agit sur la mémoire et la capacité ; les séquences d’arrêt contrôlent certaines fins de réponse. Ne copiez pas un réglage universel. Mesurez qualité, latence et mémoire sur votre matériel, puis documentez pourquoi chaque paramètre diffère de la valeur par défaut.
TEMPLATE et ADAPTER
TEMPLATE contrôle le format exact envoyé au modèle. Une erreur dans les marqueurs de rôles peut fortement dégrader les réponses. Modifiez-le seulement avec la documentation du modèle et des tests. ADAPTER permet d’appliquer certains adaptateurs entraînés, à condition qu’ils correspondent à la bonne architecture et à la bonne base.
Processus de validation
- Créer une première variante minimale.
- Tester une dizaine de cas normaux, limites et hostiles.
- Comparer avec le modèle de base.
- Vérifier mémoire, contexte et temps de réponse.
- Versionner le Modelfile avec le code et les évaluations.
- Documenter licence et provenance de la base et des adaptateurs.
FAQ
Modelfile réduit-il la taille du modèle ?
Non. Pour cela, il faut choisir une variante ou quantification adaptée.
Peut-on créer plusieurs profils depuis une même base ?
Oui. C’est utile pour séparer rôles et réglages sans dupliquer la logique applicative.
Pourquoi les réponses changent-elles après reconstruction ?
La base, la version d’Ollama, le template ou les paramètres peuvent avoir changé. Épinglez et consignez ces éléments.
Modelfile complet et vérifiable
FROM llama3.1:8b
PARAMETER temperature 0.2
PARAMETER top_p 0.9
PARAMETER num_ctx 8192
PARAMETER stop "<|eot_id|>"
SYSTEM """Tu es un assistant technique. Réponds en français, cite tes hypothèses
et n'invente jamais une commande que tu ne peux pas expliquer."""Construisez puis testez le modèle :
ollama create assistant-tech -f Modelfile
ollama run assistant-tech "Explique la différence entre 401 et 403"
ollama show assistant-tech --modelfileLe Modelfile ne réalise pas un fine-tuning : il fige un modèle de base, des paramètres et un message système. Versionnez-le avec un petit jeu de questions/réponses attendues. Ne copiez pas un template de chat d’un autre modèle : les jetons de contrôle diffèrent et une mauvaise structure peut dégrader fortement les réponses. Réduisez num_ctx si la mémoire devient le facteur limitant.