Ollama : le guide complet (au-delà de l'installation en 5 minutes)
Si Ollama est déjà installé et vous avez discuté avec votre premier modèle. C'est la partie facile — et honnêtement, c'est là que s'arrêtent la plupart des tutoriels.
Mais lancer ollama run mistral une fois n'est pas la même chose qu'utiliser Ollama. L'outil fait discrètement bien plus : il gère une bibliothèque locale de modèles, vous laisse remodeler la personnalité et les réglages de n'importe quel modèle sans rien réentraîner et — la partie que la plupart des gens ratent — il fait tourner un serveur HTTP complet sur votre machine avec lequel vos propres scripts et applications peuvent dialoguer.
Ce guide reprend là où l'installation s'arrête. Pas de cloud, pas de clés d'API, pas de facturation au token. Tout ce qui suit tourne sur votre matériel et y reste.
Ollama est un serveur, pas seulement une fenêtre de chat
La chose la plus utile à comprendre au sujet d'Ollama : lorsqu'il tourne, un serveur en arrière-plan écoute sur votre machine — par défaut à http://localhost:11434.
La commande ollama run que vous avez tapée n'est qu'un client qui parle à ce serveur. Votre propre code peut parler exactement au même serveur. C'est toute la raison pour laquelle Ollama est plus qu'un jouet : il transforme votre ordinateur en backend d'IA privé et hors ligne.
Vous pouvez démarrer le serveur explicitement avec :
ollama serve
Sur la plupart des installations (l'application de bureau sur macOS/Windows, ou le service systemd sur GNU/Linux) le serveur tourne déjà en arrière-plan, vous appelez donc rarement serve à la main. Mais il est bon de savoir qu'il est là — chaque commande et chaque appel d'API ci-dessous en dépend.
Gérer votre bibliothèque de modèles
Les modèles sont téléchargés une fois puis mis en cache localement. Avec le temps vous en accumulerez plusieurs et vous voudrez garder la collection sous contrôle. Voici les commandes qui comptent.
Télécharger un modèle
ollama pull [modèle]
Cela récupère le modèle depuis le registre et le stocke localement. Ensuite, le modèle fonctionne entièrement hors ligne — aucune connexion internet requise pour l'exécuter.
Voir ce que vous avez
ollama ls
(ollama list fait la même chose.) Cela affiche chaque modèle présent sur le disque, sa taille et la date de dernière modification. Utile quand vous vous demandez où est passé votre espace disque — ces fichiers sont volumineux.
Voir ce qui tourne à l'instant
ollama ps
Les modèles sont chargés en RAM/VRAM lorsque vous les utilisez et y restent résidents quelques minutes au cas où vous redemanderiez. ps montre ce qui est actuellement chargé et combien de mémoire cela consomme. Si votre machine rame, cela vous dit si un modèle est encore chargé en mémoire.
Arrêter un modèle en cours
ollama stop [modèle]
Décharge immédiatement le modèle de la mémoire au lieu d'attendre son expiration. Pratique quand vous voulez récupérer votre RAM/VRAM tout de suite.
Supprimer un modèle
ollama rm [modèle]
Le retire entièrement du disque. Vous le retéléchargerez si vous le voulez à nouveau.
Inspecter un modèle
ollama show [modèle]
Affiche les détails du modèle — ses paramètres, le template qu'il utilise, sa licence. C'est la façon la plus rapide de jeter un œil sous le capot d'un modèle que vous avez récupéré.
Ollama range les modèles en dehors de votre dossier Téléchargements habituel, ce qui surprend. Par défaut :
- macOS :
~/.ollama/models - GNU/Linux :
~/.ollama/models(ou/usr/share/ollama/.ollama/modelsquand Ollama tourne comme service système) - Windows :
%USERPROFILE%\.ollama\models
Si votre disque système est petit et que vous préférez garder les modèles sur un autre disque, définissez la variable d'environnement OLLAMA_MODELS vers un nouveau chemin (plus de détails sur les variables d'environnement ci-dessous).
Personnaliser un modèle avec un Modelfile
C'est ici qu'Ollama devient vraiment puissant — et là où la plupart des gens ne s'aventurent jamais.
Un Modelfile est une petite recette texte qui prend un modèle existant et l'ajuste : lui donner une personnalité permanente, verrouiller des réglages comme le niveau de créativité ou fixer une fenêtre de contexte plus grande. Vous ne réentraînez rien. Vous enveloppez un modèle de base dans une configuration qui le suit partout.
Créez un simple fichier texte nommé Modelfile (sans extension) :
# Partir d'un modèle existant
FROM mistral
# Le rendre moins aléatoire et plus concentré (0 = déterministe, 1 = créatif)
PARAMETER temperature 0.3
# Lui donner une plus grande mémoire de la conversation
PARAMETER num_ctx 8192
# Définir sa personnalité et ses règles permanentes
SYSTEM """
You are a concise technical writing assistant.
Answer in plain English. Prefer short sentences.
Never apologize. If you don't know, say so directly.
"""
Puis construisez votre modèle personnalisé à partir de lui :
ollama create writer -f Modelfile
Vous avez maintenant un nouveau modèle nommé writer qui se comporte exactement ainsi à chaque fois :
ollama run writer
Les instructions que vous utiliserez vraiment
| Instruction | Ce qu'elle fait |
|---|---|
FROM |
Obligatoire. Le modèle de base sur lequel construire (ex. mistral, ou un chemin vers un fichier .gguf). |
SYSTEM |
Le message système permanent — la personnalité et les règles du modèle. |
PARAMETER |
Définit un réglage d'exécution (voir le tableau ci-dessous). Vous pouvez en avoir plusieurs. |
TEMPLATE |
Avancé : redéfinit comment les prompts sont formatés avant d'atteindre le modèle. La plupart des gens n'y touchent jamais. |
MESSAGE |
Amorce un faux historique de conversation pour orienter le ton du modèle. |
ADAPTER |
Attache un adaptateur de fine-tuning LoRA. Avancé. |
LICENSE |
Enregistre le texte de licence du modèle. |
Les paramètres à connaître
| Paramètre | Effet | Valeur typique |
|---|---|---|
temperature |
Aléa. Bas = concentré et reproductible, haut = créatif et surprenant. | 0.3–1.0 |
num_ctx |
Fenêtre de contexte — combien de texte le modèle peut « retenir » à la fois. Plus grand = plus de mémoire. | 4096–8192 |
num_predict |
Nombre maximum de tokens à générer dans une réponse. | 256+ |
top_k / top_p |
Contrôle fin de la diversité du choix des mots. | 40 / 0.9 |
repeat_penalty |
Dissuade le modèle de répéter les mêmes phrases en boucle. | 1.1 |
seed |
Fixez-le et (avec une température basse) vous obtenez des réponses reproductibles — parfait pour tester. | tout entier |
stop |
Une chaîne qui, une fois générée, arrête la réponse. | ex. "User:" |
Un détail qui piège les gens : le Modelfile n'est pas sensible à la casse et les instructions peuvent apparaître dans n'importe quel ordre. La convention des mots-clés en majuscules (FROM, SYSTEM) est purement pour la lisibilité.
Tirer le meilleur de votre modèle
Installer un modèle vous donne une configuration générique. Le régler vous en donne une qui colle à votre machine et à votre tâche. Trois boutons comptent — et bonne nouvelle, vous connaissez déjà les commandes : ce sont les mêmes lignes PARAMETER du Modelfile ci-dessus, plus une décision que vous prenez avant même de télécharger.
Voyez-le dans cet ordre : choisir le bon modèle → le faire tourner sans accroc → le faire bien répondre → le faire se comporter comme vous voulez.
Choisir d'abord le bon modèle
Aucun réglage ne rattrape un modèle trop gros pour votre matériel. Avant tout, faites correspondre le modèle à votre machine.
La variable qui décide de tout est combien de mémoire le modèle réclame par rapport à combien vous en avez (VRAM si vous avez un GPU, sinon la RAM système). Un modèle qui tient dans la VRAM de votre GPU tourne vite ; un qui déborde dans la RAM système tourne beaucoup plus lentement ; un qui ne tient pas du tout ne se charge pas.
Deux leviers contrôlent l'empreinte d'un modèle :
- Nombre de paramètres — les
7b,13b,70bdans le nom d'un modèle (milliards de paramètres). Plus gros est généralement plus intelligent mais plus lourd. - Quantization — à quel point les nombres du modèle sont compressés, indiqué par des tags comme
q4_0,q4_K_M,q8_0. Nombres plus bas = plus petit et plus rapide, au prix d'une légère baisse de qualité.
Une règle empirique pratique :
| Votre mémoire (VRAM ou RAM) | Taille de modèle confortable |
|---|---|
| 8 Go | 7B en q4 (ex. mistral, llama3.2) |
| 16 Go | 13B en q4, ou 7B en q8 pour une meilleure qualité |
| 24 Go+ | modèles 30B+, ou modèles plus petits avec beaucoup de contexte |
Pour la plupart des gens sur un portable ou un PC de jeu classique, un modèle 7B en q4 (ce qu'Ollama récupère par défaut pour beaucoup de modèles) est le point idéal : rapide, capable et il tient. Notre guide Matériel va plus loin sur l'appariement modèle-configuration.
q4, c'est comme une photo bien compressée — légèrement plus douce si vous scrutez les pixels, mais indiscernable à l'usage quotidien et quatre fois plus petite. Commencez en q4 ; ne montez en q8 que si vous pouvez vous permettre la mémoire et que vous remarquez l'écart de qualité.
Le faire tourner sans accroc (vitesse & mémoire)
Une fois qu'un modèle tient, ces réglages extraient de la vitesse et gardent la mémoire sous contrôle :
num_ctx— le plus gros levier mémoire. La fenêtre de contexte fait grimper vite l'usage mémoire. Si un modèle est limite sur votre matériel, baissernum_ctx(disons de 8192 à 4096) est souvent ce qui le fait tenir et tourner sans accroc. Ne l'augmentez que si vous avez réellement besoin que le modèle retienne de longs documents.num_predict— plafonner la longueur des réponses. Limiter le nombre de tokens que le modèle peut générer l'empêche de divaguer et garde les réponses vives.OLLAMA_KEEP_ALIVE— éviter la latence de rechargement. Par défaut un modèle se décharge de la mémoire après quelques minutes d'inactivité, votre prochain prompt paie donc un délai de rechargement. Si vous utilisez un modèle par intermittence toute la journée, allongez cette valeur (ex.30m) pour le garder au chaud. Vous jonglez entre plusieurs modèles sur une mémoire serrée ? Réglez-la court (ou0) pour que chacun se décharge promptement et libère la place au suivant.- Laissez le GPU travailler. Ollama délègue au GPU automatiquement quand il peut. Lancez
ollama pspendant qu'un modèle est chargé — cela vous dit si le modèle siège en mémoire GPU (rapide) ou a débordé sur le CPU (lent). S'il a débordé, c'est votre signal pour descendre vers un modèle plus petit ou une quantization plus basse.
Un point de départ mesurable : lancez un prompt, observez les tokens par seconde qu'Ollama peut rapporter, puis changez un réglage et comparez. Régler à l'aveugle, c'est deviner ; régler un bouton à la fois, c'est de l'ingénierie.
Le faire bien répondre (qualité & cohérence)
Ces réglages façonnent ce que dit le modèle, pas sa vitesse. C'est la différence entre un modèle qui hallucine à tout va et un sur lequel vous pouvez compter. Placez-les comme lignes PARAMETER dans un Modelfile pour qu'ils tiennent :
| Paramètre | Baissez-le pour… | Montez-le pour… |
|---|---|---|
temperature |
Faits, code, extraction de données — tout ce où vous voulez la même réponse sensée à chaque fois (essayez 0.1–0.3) |
Brainstorming, fiction, écriture créative où vous voulez de la variété (essayez 0.8–1.0) |
top_p |
Choix de mots plus serrés, plus sûrs (0.5) |
Formulation plus audacieuse (0.95) |
repeat_penalty |
— | Montez à 1.2–1.3 si le modèle répète la même phrase en boucle |
Deux combinaisons couvrent la plupart des besoins réels :
# Un assistant précis et reproductible — code, analyse, questions factuelles
PARAMETER temperature 0.2
PARAMETER top_p 0.5
# Un partenaire d'écriture créative — sortie variée, surprenante
PARAMETER temperature 0.9
PARAMETER top_p 0.95
Et quand vous testez — comparez deux prompts ou deux réglages — épinglez l'aléa pour que la seule chose qui change soit ce que vous vouliez changer :
PARAMETER seed 42
PARAMETER temperature 0
Avec un seed fixe et temperature 0, le même prompt donne la même réponse à chaque fois. C'est ainsi que vous savez si votre prompt s'est amélioré et pas seulement si vous avez eu de la chance.
Le faire se comporter comme vous voulez (persona & règles)
Les réglages de vitesse et d'échantillonnage façonnent la forme des réponses. Pour façonner leur contenu et leur ton — pour qu'un modèle agisse systématiquement comme relecteur de code, traducteur, assistant laconique — utilisez l'instruction SYSTEM. C'est le réglage au plus fort effet de levier que vous puissiez faire et il ne coûte rien en performance.
Un prompt système vague produit un assistant vague. Soyez précis sur le rôle, le format et les limites :
FROM mistral
SYSTEM """
You are a senior Python code reviewer.
For each snippet, reply with exactly three sections:
1. Bugs — concrete problems, or "none".
2. Risks — things that could break later.
3. One suggestion — the single highest-impact improvement.
Be blunt. No preamble, no praise. If the code is fine, say so in one line.
"""
Vous pouvez aller un cran plus loin et montrer au modèle le comportement voulu avec MESSAGE, qui amorce un échange d'exemple dans sa mémoire :
MESSAGE user "def add(a,b): return a-b"
MESSAGE assistant "1. Bugs — subtraction where addition is intended. 2. Risks — silent wrong results, no type checks. 3. Suggestion — return a + b and add type hints."
Le modèle a maintenant un gabarit concret à imiter. Combinés, SYSTEM + deux ou trois exemples MESSAGE transforment un modèle générique en spécialiste — sans fine-tuning, sans heures de GPU, juste un fichier texte.
Le vrai flux de travail consiste à regrouper les quatre couches dans un seul Modelfile — votre modèle de base choisi, les réglages de vitesse adaptés à votre matériel, les réglages d'échantillonnage pour votre tâche et la persona. Construisez-le une fois avec ollama create et vous avez un modèle sur mesure exécutable n'importe où d'une seule commande.
Appeler Ollama depuis votre propre code (l'API REST)
C'est la fonctionnalité qui fait passer Ollama d'un outil de chat à une brique de construction. Pendant qu'il tourne, le serveur expose une API HTTP à http://localhost:11434. Tout langage capable d'émettre une requête HTTP peut piloter un LLM local à travers elle.
Pas de clé d'API. Pas de limite de débit. Aucune donnée ne quitte votre machine.
Générer une seule réponse — /api/generate
L'endpoint le plus simple. Envoyez un prompt, obtenez une complétion.
curl http://localhost:11434/api/generate -d '{
"model": "mistral",
"prompt": "Explain what a context window is in one sentence.",
"stream": false
}'
Mettre "stream": false fait renvoyer à Ollama un seul objet JSON complet. Omettez-le (ou mettez true) et le serveur renvoie la réponse token par token en flux — c'est ainsi que les interfaces de chat affichent le texte apparaissant en direct.
Tenir une conversation — /api/chat
Pour un chat multi-tours, /api/chat prend une liste de messages avec des rôles, exactement comme les grandes API cloud :
curl http://localhost:11434/api/chat -d '{
"model": "mistral",
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "What is local AI?" }
],
"stream": false
}'
Comme le format des messages reflète le schéma de style OpenAI, beaucoup d'outils et de bibliothèques existants peuvent être pointés vers Ollama avec à peine plus qu'un changement d'URL.
Les autres endpoints que vous croiserez
| Endpoint | Méthode | À quoi ça sert |
|---|---|---|
/api/generate |
POST | Complétion de texte en un coup. |
/api/chat |
POST | Conversation multi-tours avec historique des messages. |
/api/tags |
GET | Lister les modèles installés localement (la version API d'ollama ls). |
/api/show |
POST | Obtenir les détails et paramètres d'un modèle. |
/api/pull |
POST | Télécharger un modèle par programmation. |
/api/ps |
GET | Lister les modèles actuellement chargés en mémoire. |
/api/embed |
POST | Transformer du texte en vecteurs d'embedding — le fondement de la recherche locale et des bases de connaissances personnelles. |
Ce dernier, /api/embed, est discrètement important : c'est lui qui alimente la recherche documentaire privée (RAG) sans jamais envoyer vos fichiers à un service cloud.
Variables d'environnement utiles
Ollama se configure via des variables d'environnement. Quelques-unes valent la peine d'être connues :
| Variable | Rôle |
|---|---|
OLLAMA_HOST |
Change l'adresse/le port sur lequel le serveur écoute. Mettez-la à 0.0.0.0:11434 pour laisser d'autres machines de votre réseau atteindre votre serveur Ollama. |
OLLAMA_MODELS |
Déplace le stockage de vos modèles vers un autre dossier ou disque. |
OLLAMA_KEEP_ALIVE |
Combien de temps un modèle reste chargé en mémoire après usage (par défaut quelques minutes). Allongez-la pour éviter les délais de rechargement, ou 0 pour décharger immédiatement. |
OLLAMA_HOST
Écouter sur 0.0.0.0 expose le serveur à tout votre réseau local. C'est parfait pour utiliser le GPU costaud de votre PC de bureau depuis un portable — mais ne le faites que sur un réseau de confiance. Tout l'intérêt de l'IA locale, c'est que vous contrôlez qui peut l'atteindre.
La façon de les définir dépend de votre système d'exploitation et du fait qu'Ollama tourne comme application ou comme service. Lancez ollama serve --help pour voir les variables qu'Ollama reconnaît actuellement sur votre version.
Pour aller plus loin
Vous avez maintenant le tableau complet : Ollama est à la fois un gestionnaire de modèles locaux, un outil de personnalisation et un serveur d'IA privé. À partir d'ici :
- Choisissez le bon modèle pour votre machine — voir notre guide Matériel pour faire correspondre un modèle à votre RAM et votre VRAM.
- Donnez des mains à votre modèle — dès qu'il sait appeler des outils, connectez-le à vos fichiers et vos données avec MCP pour l'IA locale.
- Construisez quelque chose de réel — pointez l'API REST vers l'un de nos cas d'usage : un analyseur de données privé, un assistant de code ou une base de connaissances personnelle.
Tout ce que vous avez configuré ici tourne entièrement sur votre matériel. Pas d'abonnement, pas de cloud, personne qui regarde. C'est là tout l'intérêt.