- Version : Ollama v0.23.4 + client Python ollama 0.6.2
- Temps de mise en place : 15 minutes sur Mac M1, 25 minutes sur Intel/Linux
- Prérequis : Python 3.8+, 8 Go RAM (4 Go avec modèle 1b), 4 Go disque
- Piège fréquent : erreur "model not found" → lancer
ollama pull llama3.2:3bavant d'exécuter le script
Introduction
Vous allez installer Ollama v0.23.4 et construire un chatbot Python qui fonctionne entièrement en local, sans envoyer de données à des serveurs externes. Le modèle Llama 3.2 (3b) nécessite seulement 2 Go de RAM et tourne sur macOS 14+ ou Ubuntu 22.04+ sans GPU dédié. Documentation officielle ollama.com.
Ce que vous allez construire et pourquoi en 2026
Un chatbot en ligne de commande interactif qui conserve l'historique de conversation et répond localement via l'API Ollama. Le projet utilise le client Python officiel ollama v0.6.2 (pip) et le modèle llama3.2:3b. Prérequis : Python 3.8+, 8 Go RAM minimum (4 Go si vous utilisez le modèle 1b), macOS 14 Sonoma+ ou Ubuntu 22.04+, 4 Go d'espace disque pour le modèle. Temps estimé : 15 minutes sur Mac M1 / 25 minutes sur Intel.
Installation : commandes exactes à copier
# macOS et Linux — installer Ollama
curl -fsSL https://ollama.com/install.sh | sh # Vérifier l'installation
ollama --version
# Résultat attendu : ollama version 0.23.4 ou supérieur # Télécharger le modèle léger (2 Go)
ollama pull llama3.2:3b # Tester que le modèle répond
ollama run llama3.2:3b "Bonjour, présente-toi en une phrase."
# Résultat attendu : une réponse en français du modèle Llama
Erreur courante : Error: model requires 8GB VRAM → utilisez ollama pull llama3.2:1b à la place (modèle 1 Go, qualité réduite mais fonctionnel sur machines avec 4 Go RAM). Sur Windows, téléchargez OllamaSetup.exe depuis ollama.com/download et lancez l'installateur.
Configuration : les fichiers et variables à définir
# Créer le dossier du projet
mkdir chatbot-ollama && cd chatbot-ollama # Créer un environnement virtuel
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows # Installer le client Python officiel
pip install ollama==0.6.2 # Vérifier l'installation
python -c "import ollama; print(ollama.__version__)"
# Résultat attendu : 0.6.2
Le client ollama Python se connecte par défaut à http://localhost:11434. Si Ollama tourne sur un autre port ou serveur, définissez la variable d'environnement : export OLLAMA_HOST=http://192.168.1.100:11434. Aucun fichier .env n'est requis pour un usage local.
Le code du projet : construire le chatbot interactif
# chatbot.py — Chatbot interactif avec historique de conversation
import ollama def chatbot(): """Chatbot local avec historique de conversation via Ollama.""" model = "llama3.2:3b" messages = [] print("Chatbot Ollama — tapez 'quit' pour quitter, 'reset' pour effacer l'historique") print(f"Modèle actif : {model}") print("-" * 60) while True: user_input = input("
Vous : ").strip() if not user_input: continue if user_input.lower() == "quit": print("Au revoir !") break if user_input.lower() == "reset": messages = [] print("Historique effacé.") continue messages.append({"role": "user", "content": user_input}) try: response = ollama.chat( model=model, messages=messages ) assistant_msg = response["message"]["content"] messages.append({"role": "assistant", "content": assistant_msg}) print(f"
Assistant : {assistant_msg}") print(f"[Tokens : {response.get('eval_count', '?')} générés en {round(response.get('eval_duration', 0) / 1e9, 1)}s]") except ollama.ResponseError as e: print(f"Erreur Ollama : {e.error}") if "model not found" in str(e.error).lower(): print("→ Lancez 'ollama pull llama3.2:3b' pour télécharger le modèle.") messages.pop() if __name__ == "__main__": chatbot()
Chaque ligne expliquée : ollama.chat() appelle l'endpoint POST /api/chat d'Ollama en envoyant l'historique complet messages. Le modèle reçoit le contexte de toute la conversation et génère une réponse cohérente. L'objet response contient eval_count (tokens générés) et eval_duration (temps en nanosecondes), permettant de calculer la vitesse en tokens/seconde.
Tester et valider que ça fonctionne
# Lancer le chatbot
python chatbot.py # Test 1 : question simple
# Vous : Quelle est la capitale de la France ?
# Assistant : La capitale de la France est Paris. # Test 2 : conversation avec contexte
# Vous : Qui est le président ?
# Vous : Depuis quand ?
# (le modèle se souvient du contexte de la conversation) # Test 3 : vérifier l'API directement
curl http://localhost:11434/api/tags
# Doit retourner la liste des modèles dont llama3.2:3b
Si curl: (7) Failed to connect → Ollama n'est pas lancé. Démarrez-le avec ollama serve dans un autre terminal. Si le modèle est lent, vérifiez la RAM disponible avec htop (Linux) ou Activity Monitor (macOS) — le modèle 3b consomme environ 2,5 Go en mémoire.
Déployer et utiliser en production
Pour un service persistant, créez un service systemd (Linux) :
# /etc/systemd/system/ollama-chatbot.service
[Unit]
Description=Chatbot Ollama
After=network.target ollama.service [Service]
Type=simple
User=ollama
WorkingDirectory=/opt/chatbot-ollama
ExecStart=/opt/chatbot-ollama/venv/bin/python chatbot.py
Restart=on-failure
RestartSec=5 [Install]
WantedBy=multi-user.target
Pour mettre à jour Ollama : curl -fsSL https://ollama.com/install.sh | sh (met à jour le binaire sans toucher aux modèles). Pour mettre à jour le modèle : ollama pull llama3.2:3b télécharge la dernière version du modèle. Pour ajouter le chatbot au démarrage : sudo systemctl enable ollama-chatbot.
Aller plus loin : 3 extensions concrètes
1. Interface web avec Gradio — Installez pip install gradio et ajoutez une interface web en 10 lignes :
import gradio as gr
import ollama def respond(message, history): messages = [] for h in history: messages.append({"role": "user", "content": h["user"]}) messages.append({"role": "assistant", "content": h["assistant"]}) messages.append({"role": "user", "content": message}) response = ollama.chat(model="llama3.2:3b", messages=messages) return response["message"]["content"] gr.ChatInterface(respond, title="Chatbot Local Ollama").launch()
2. Sortie structurée en JSON — Passez format="json" à ollama.chat() pour forcer le modèle à répondre en JSON valide, utile pour extraire des données structurées depuis du texte libre.
3. Tool calling (appel de fonctions) — L'API chat d'Ollama supporte le paramètre tools pour que le modèle appelle des fonctions Python prédéfinies (recherche web, calcul, accès base de données). Voir la documentation officielle pour les schémas de définition d'outils.
Comment refuser un loyer supérieur à 30 % du revenu en 2026 ?
Étapes à suivre5
Étape 1 — Installer Ollama et télécharger le modèle
Installer Ollama v0.23.4 avec la commandecurl -fsSL https://ollama.com/install.sh | sh. Sur macOS 14 Sonoma+, téléchargez l'application depuis ollama.com/download. Vérifiez l'installation avecollama --version. Téléchargez un modèle adapté à votre machine :ollama pull llama3.2:3bpour un usage local rapide (2 Go de RAM), ouollama pull mistral:7bpour de meilleures réponses (4,1 Go). Testez le modèle avecollama run llama3.2:3b "Bonjour, présente-toi". Pour les machines avec 16 Go+ de RAM,ollama pull llama3.1:8boffre un bon compromis qualité/performance. Vérifiez que le service tourne aveccurl http://localhost:11434/api/tags. Sur Linux, activez le service au démarrage :sudo systemctl enable ollama. Sur macOS, l'application se lance automatiquement au démarrage. Consultez la documentation Ollama pour la liste complète des modèles disponibles et les configurations matérielles recommandées.Étape 2 — Configurer l'environnement Python et installer les dépendances
Créez un environnement virtuel avecpython3 -m venv chatbot-env && source chatbot-env/bin/activate. Installez les dépendances :pip install ollama langchain-community. Le packageollamafournit l'API Python native pour interagir avec le service local, tandis quelangchain-communitypermet d'ajouter des chaînes de traitement avancées (RAG, mémoire, agents). Créez le fichierrequirements.txtavecollama>=0.4etlangchain-community>=0.1. Vérifiez que Python 3.10+ est installé avecpython3 --version. Sur macOS, si pip est absent, installez-le avecpython3 -m ensurepip --upgrade. Testez la connexion avecpython3 -c "import ollama; print(ollama.list())". Si vous obtenez une erreur de connexion, vérifiez que le service Ollama est actif avecollama servedans un terminal séparé. Sur Linux, vérifiez les permissions du socket avecls -la /usr/share/ollama/.ollama.Étape 3 — Construire le chatbot avec historique de conversation
Créez le fichierchatbot.pyavec une boucle interactive qui gère l'historique. Importezollamaet initialisez une listemessages = []. À chaque tour, ajoutez le message utilisateur puis appelezollama.chat(model='llama3.2:3b', messages=messages). Ajoutez la réponse de l'assistant à l'historique pour maintenir le contexte conversationnel. Insérez un prompt système en tête :{'role': 'system', 'content': 'Tu es un assistant français concis et précis. Réponds de manière structurée.'}. Implémentez les commandes/reset(vider l'historique),/save(sauvegarder en JSON) et/quit. Pour un streaming en temps réel, utilisezollama.chat(., stream=True)et itérez sur les chunks avecfor chunk in response: print(chunk['message']['content'], end=''). Limitez l'historique aux 10 derniers échanges pour éviter la saturation de la fenêtre de contexte. Ajoutez un bloctry/exceptpour gérer les erreurs de connexion au service Ollama.Étape 4 — Tester, déboguer et optimiser
Lancez le chatbot avecpython3 chatbot.pyet posez des questions variées pour tester la qualité des réponses. Si les réponses sont lentes, réduisez le paramètrenum_predictà 256 avecollama.chat(., options={'num_predict': 256}). Si les réponses sont coupées, augmenteznum_ctxà 4096 pour élargir la fenêtre de contexte. Surveillez la consommation mémoire avechtopouActivity Monitor. Pour un modèle 7B, prévoyez au minimum 8 Go de RAM disponible. Ajoutez des logs aveclogging.basicConfig(level=logging.INFO)pour tracer les temps de réponse. Testez les cas limites : questions vides, messages très longs, caractères spéciaux. Si le service plante, consultez les logs avecjournalctl -u ollama -f(Linux) ou le terminal oùollama servetourne. Optimisez en préchargeant le modèle au démarrage avecollama run llama3.2:3b ""en arrière-plan pour éviter le délai de chargement à la première requête.Étape 5 — Déployer en service persistant et maintenir
Pour un déploiement persistant, créez un service systemd :sudo nano /etc/systemd/system/chatbot.serviceavecExecStart=/home/user/chatbot-env/bin/python3 /home/user/chatbot.py. Activez avecsudo systemctl enable chatbot && sudo systemctl start chatbot. Ajoutez une interface web avecpip install gradio: créezapp.pyavecgr.ChatInterface(fn=chat_response, title='Assistant Local')et lancez avecpython3 app.py. Mettez à jour les modèles régulièrement :ollama pull llama3.2:3bpour obtenir la dernière version. Sauvegardez l'historique des conversations dans un fichier JSON quotidien avec la date en suffixe. Surveillez l'espace disque : un modèle 7B occupe environ 4 Go. Pour nettoyer les anciens modèles, utilisezollama rm modele_inutilise. Consultez le dépôt Ollama pour les mises à jour et les nouveaux modèles disponibles.
Conseils pratiques
- Accélérez les réponses en utilisant
ollama.pull()en Python pour précharger le modèle avant le premier message utilisateur — cela élimine le délai de chargement de 2 à 5 secondes au premier appel. - Utilisez
format="json"dansollama.chat()pour forcer le modèle à répondre en JSON valide — idéal pour extraire des données structurées (noms, dates, montants) depuis du texte libre. - Sur Mac M1/M2/M3, Ollama utilise MLX (depuis mars 2026) pour accélérer l'inférence de 30 à 50% par rapport au backend llama.cpp. Vérifiez avec
ollama run llama3.2:3b "Combien font 2+2?"— la réponse doit être quasi instantanée.
Points d'attention
- Erreur
Error: model "llama3.2:3b" not found→ vous n'avez pas téléchargé le modèle. Lancezollama pull llama3.2:3bet attendez la fin du téléchargement (2 Go) avant de lancer le chatbot. - Erreur
ollama.ResponseError: connection refused→ le serveur Ollama n'est pas lancé. Démarrez-le avecollama servedans un terminal séparé, ou vérifiez que l'application Ollama est ouverte (macOS). - Réponses lentes (>10 secondes par token) → votre RAM est insuffisante. Le modèle 3b nécessite 2,5 Go libres. Fermez les applications lourdes ou passez au modèle 1b avec
ollama pull llama3.2:1bet changezmodel = "llama3.2:1b"dans votre script.
Questions fréquentes10
Ollama fonctionne-t-il sans GPU ?
Oui. Ollama fait tourner les modèles sur CPU par défaut. Le modèle llama3.2:3b fonctionne sur 8 Go RAM sans GPU dédié. Sur Mac M1/M2/M3, Ollama utilise MLX pour accélérer l'inférence de 30-50%. Sur PC sans GPU, attendez 5-15 tokens/seconde en CPU.
Ollama fonctionne-t-il sans GPU ?
Oui. Ollama fait tourner les modèles sur CPU par défaut. Le modèle llama3.2:3b fonctionne sur 8 Go RAM sans GPU dédié. Sur Mac M1/M2/M3, Ollama utilise MLX pour accélérer linférence de 30-50%. Sur PC sans GPU, attendez 5-15 tokens/seconde en CPU.
Quelle version de Python est nécessaire ?
Le client Python ollama 0.6.2 nécessite Python 3.8 ou supérieur. Vérifiez avec python3 --version. Sur Ubuntu 22.04, Python 3.10 est installé par défaut. Sur macOS, installez Python via brew install python@3.12.
Quelle version de Python est nécessaire ?
python3 --version. Sur Ubuntu 22.04, Python 3.10 est installé par défaut. Sur macOS, installez Python via brew install python@3.12.Ollama est-il gratuit et open-source ?
Ollama est open-source sous licence MIT, gratuit pour tout usage. Les modèles comme Llama 3.2 sont aussi gratuits avec la licence Meta Llama 3 Community License, qui autorise lusage commercial jusquà 700 millions dutilisateurs mensuels.
Ollama est-il gratuit et open-source ?
Ollama est open-source sous licence MIT, gratuit pour tout usage. Les modèles comme Llama 3.2 sont aussi gratuits avec la licence Meta Llama 3 Community License, qui autorise l'usage commercial jusqu'à 700 millions d'utilisateurs mensuels.
Comment déboguer si Ollama ne démarre pas ?
Lancez ollama serve dans un terminal pour voir les logs en direct. Lerreur la plus courante est le port 11434 déjà utilisé — tuez le processus existant avec lsof -i :11434 puis kill -9 PID. Sur Linux, vérifiez le service avec sudo systemctl status ollama.
Comment déboguer si Ollama ne démarre pas ?
ollama serve dans un terminal pour voir les logs en direct. L'erreur la plus courante est le port 11434 déjà utilisé — tuez le processus existant avec lsof -i :11434 puis kill -9 PID. Sur Linux, vérifiez le service avec sudo systemctl status ollama.Ollama vs ChatGPT API : lequel choisir pour mon projet ?
Ollama est gratuit, fonctionne en local, sans envoi de données — idéal pour prototypage, données sensibles et projets sans budget. LAPI ChatGPT coûte 0,50$ à 30$ par million de tokens selon le modèle, mais offre une qualité supérieure et des capacités multimodales. Pour un projet interne ou un chatbot dentreprise avec données confidentielles, Ollama est le choix évident.
Ollama vs ChatGPT API : lequel choisir pour mon projet ?
Ollama est gratuit, fonctionne en local, sans envoi de données — idéal pour prototypage, données sensibles et projets sans budget. L'API ChatGPT coûte 0,50$ à 30$ par million de tokens selon le modèle, mais offre une qualité supérieure et des capacités multimodales. Pour un projet interne ou un chatbot d'entreprise avec données confidentielles, Ollama est le choix évident.
Guides Technologie & IA
Voir toutConstruire un chatbot local avec Ollama et Python en 30 minutes
Utiliser DeepSeek V4 en 2026 pour améliorer la recherche
Utiliser Claude Opus 4.7 en 2026 pour améliorer la productivité
Comment créer et gérer ses mots de passe de manière sécurisée en 2026
Comment utiliser Ollama en 2026
Poursuivez votre lecture
Multi-catégoriesComment refuser un loyer supérieur à 30 % du revenu en 2026 ?
Transmission d'entreprise 2026 : dispositifs fiscaux et étapes clés pour vendre ou céder son affaire
"Impôts du Cœur" : les agents des finances publiques proposent leur aide à la déclaration de revenus sur le marché
Équipe éditoriale GuidePratiquefr
Rédacteurs spécialisés en droit, fiscalité et finances
Rédigé et vérifié par notre équipe de rédacteurs spécialisés. Sources officielles consultées : service-public.fr, legifrance.gouv.fr, impots.gouv.fr, ameli.fr. Dernière vérification : 16 mai 2026.
Sources officielles consultées
Les informations contenues dans ce guide sont fournies à titre indicatif et ne remplacent pas un conseil professionnel personnalisé.