Faire Tourner un LLM en Local avec Ollama
Installez et utilisez des LLMs directement sur votre machine avec Ollama : confidentialité totale, coût zéro, et intégration Python en quelques lignes.
Pourquoi faire tourner un LLM en local ?
Avant de plonger dans l'installation, posons la question directement : pourquoi s'embêter à faire tourner un modèle sur sa propre machine alors que ChatGPT est accessible en quelques clics ?
Trois raisons majeures :
Confidentialité totale. Vos données ne quittent jamais votre machine. Pour les cas d'usage professionnels : analyse de contrats, traitement de données médicales, code propriétaire : c'est souvent une exigence non négociable.
Coût zéro à l'inférence. Une fois le modèle téléchargé, chaque requête est gratuite. Pour des applications à fort volume ou des expérimentations intensives, l'économie est considérable.
Aucune dépendance réseau. Train, zone blanche, pare-feu d'entreprise ? Votre LLM local s'en moque.
Ollama est aujourd'hui l'outil le plus simple pour faire tourner des LLMs en local. Il gère le téléchargement, l'optimisation matérielle (GPU NVIDIA, AMD, Apple Silicon) et expose une API compatible OpenAI.
Installation : Une seule commande
macOS / Linux :
Windows : Téléchargez l'installateur depuis ollama.com. Ollama s'installe comme un service en arrière-plan.
ollama --version # Vérifier l'installation
ollama run llama3.2 # Télécharger + lancer (chat interactif)
Ollama télécharge automatiquement le modèle (une seule fois) et ouvre un chat dans le terminal. Tapez /bye pour quitter.
Les modèles disponibles en 2026
| Modèle | Tailles disponibles | RAM minimale | Points forts |
|---|---|---|---|
| Llama 3.3 | 8B, 70B | 6 Go / 48 Go | Meilleur rapport qualité/taille |
| Mistral Small | 22B | 14 Go | Multilingue, rapide |
| Qwen 2.5 | 0.5B → 72B | 1 Go → 48 Go | Excellent code, 128k context |
| Phi-4 | 14B | 10 Go | Raisonnement, compact |
| Gemma 3 | 1B, 4B, 12B, 27B | 1 Go → 18 Go | Multimodal (vision) |
| DeepSeek-R1 | 7B, 14B, 32B, 70B | 5 Go → 48 Go | Raisonnement step-by-step |
La quantization expliquée simplement
Un modèle à 7B paramètres pèse ~14 Go en précision complète (F16). La quantization compresse ces poids, réduisant la RAM au prix d'une légère perte de qualité.
| Format | RAM (7B) | Qualité | Vitesse | Recommandation |
|---|---|---|---|---|
| F16 | ~14 Go | Maximale | Lente | Benchmarks/recherche |
| Q8_0 | ~7 Go | Excellente | Bonne | GPU puissant dispo |
| Q4_K_M | ~4 Go | Très bonne | Rapide | Usage quotidien |
| Q2_K | ~2.5 Go | Correcte | Très rapide | Machines limitées |
Q4_K_M est le sweet spot. C'est le format par défaut d'Ollama. La perte de qualité vs F16 est imperceptible en pratique.
Micro-exercice : chatbot Python avec l'API Ollama
L'API d'Ollama est compatible avec le format OpenAI : vous pouvez utiliser le SDK Python officiel sans modifier votre code.
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # Valeur arbitraire, requise par le SDK
)
response = client.chat.completions.create(
model="llama3.2",
messages=[{"role": "user", "content": "Explique le machine learning en 3 phrases."}]
)
print(response.choices[0].message.content)
Chatbot avec historique de conversation :
from openai import OpenAI
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
historique = []
print("Chatbot local (Ctrl+C pour quitter)")
while True:
user_input = input("\nVous : ")
historique.append({"role": "user", "content": user_input})
response = client.chat.completions.create(
model="llama3.2",
messages=historique
)
assistant_msg = response.choices[0].message.content
historique.append({"role": "assistant", "content": assistant_msg})
print(f"\nAssistant : {assistant_msg}")
Ollama + Agno : un agent avec un modèle local
from agno.agent import Agent
from agno.models.ollama import Ollama
agent = Agent(
model=Ollama(id="qwen2.5:14b"),
instructions="Tu es un assistant expert en data science. Réponds en français.",
markdown=True
)
agent.print_response(
"Quelle est la différence entre Random Forest et Gradient Boosting ?",
stream=True
)
Assurez-vous que le service Ollama est démarré (ollama serve) avant d'exécuter vos scripts. Sur macOS et Windows, il démarre automatiquement au login. Sur Linux, vérifiez avec systemctl status ollama.
Pour aller plus loin
- Modelfile : créez des variantes personnalisées avec instructions système prédéfinies (
ollama create mon-assistant -f Modelfile) - API REST native :
http://localhost:11434/api/pour le streaming sans SDK - Open WebUI : interface web type ChatGPT pour vos modèles locaux, installable en une commande Docker
Specialiste IA — Master Intelligence Artificielle
Diplome d'un Master en Intelligence Artificielle, je travaille au quotidien sur des projets IA en entreprise. J'ai cree IwanttolearnAI pour rendre l'apprentissage de l'IA accessible a tous, gratuitement.
Continuer a apprendre
Gérer le Context Window et la Mémoire des LLMs
Comprenez les limites de mémoire des LLMs, le phénomène lost-in-the-middle, et maîtrisez les stratégies pour gérer efficacement de longs contextes en production.
Tokenisation : Comment l'IA Lit le Texte
Découvrez comment les LLMs décomposent le texte en tokens, pourquoi le français coûte plus cher que l'anglais, et comment maîtriser vos coûts d'API avec tiktoken.
Comprendre les Large Language Models
Comment fonctionnent ChatGPT, Claude et Llama ? Découvrez la tokenisation, la génération de texte et apprenez à bien utiliser les LLMs.