iancr
Ollama : Fais tourner un ChatGPT privé sur ton PC (sans cloud, sans abonnement)

Ollama : Fais tourner un ChatGPT privé sur ton PC (sans cloud, sans abonnement)

Tu paies 20 € par mois pour ChatGPT, tu confies toutes tes données à OpenAI, et tu dépends d'une connexion internet. Et si je te disais que tu peux faire tourner le même type d'IA — gratuitement, hors ligne, sur ton propre PC — en 20 minutes chrono ?

C'est exactement ce que permet Ollama. Dans ce tutoriel, tu vas installer Ollama, télécharger un modèle de langage (LLM), et interagir avec lui directement depuis ton terminal. À la fin, tu sauras aussi l'intégrer dans un script Python et construire une mini-app de chat privée. C'est parti.


1. C'est quoi Ollama, et pourquoi c'est génial ?

Ollama est un outil open-source qui te permet de télécharger et d'exécuter des modèles de langage (LLM) localement sur ta machine. Pas de cloud, pas d'API payante, pas de latence réseau. Tout tourne chez toi.

Voici ce que ça change concrètement :

  • Vie privée : tes conversations restent sur ton disque dur. Pas de logs chez OpenAI ou Google.
  • Gratuit : pas d'abonnement. Tu utilises ta propre puissance de calcul.
  • Hors ligne : dans le train, l'avion, ou au milieu de nulle part, ton assistant IA répond.
  • Open source : tu peux inspecter, modifier, et même créer tes propres modèles.

Les modèles disponibles (appelés « modèles Ollama ») sont des versions optimisées de modèles connus : Llama 3 (Meta), Mistral, Gemma (Google), Phi-3 (Microsoft), et des dizaines d'autres.

Idée d'illustration : Un schéma comparatif avec d'un côté "Cloud = données envoyées serveurs distants" et de l'autre "Ollama = données locales ton PC". Avec un cadenas côté Ollama pour symboliser la confidentialité.


2. Prérequis : ce dont tu as besoin

Avant de commencer, vérifie que tu as :

  • Un PC avec au moins 8 Go de RAM (16 Go recommandés pour les gros modèles)
  • Windows, macOS ou Linux (le tuto couvre les 3)
  • Environ 5 à 10 Go d'espace disque libre par modèle
  • Une carte graphique NVIDIA avec 6 Go de VRAM ou plus (optionnel mais recommandé Ollama fonctionne aussi sur CPU seul)

Si tu n'as pas de GPU, pas de panique : les petits modèles (Phi-3, Gemma 2B) tournent très bien sur CPU.


3. Installation d'Ollama

Sur macOS

bash
# Télécharge l'installateur officiel curl -fsSL https://ollama.com/install.sh | sh

Ou va sur ollama.com et télécharge le .dmg.

Sur Linux

bash
# En une commande curl -fsSL https://ollama.com/install.sh | sh

Une fois installé, le service se lance automatiquement. Vérifie qu'il tourne :

bash
ollama --version # Doit afficher : ollama version is 0.x.x

Sur Windows

  1. Va sur ollama.com
  2. Clique sur Download for Windows
  3. Lance l'installateur .exe
  4. Après installation, Ollama apparaît dans la barre des tâches (icône de lama )

Ce que tu dois voir : une fois l'installation terminée, ouvre un terminal et tape ollama list. Si la commande est reconnue, c'est bon !


4. Premier modèle : télécharge et dialogue avec Llama 3

Maintenant, on passe à la pratique. On va télécharger Llama 3.2 (3 milliards de paramètres), un excellent compromis rapidité/qualité.

bash
# Télécharge et lance Llama 3.2 (3B) ollama run llama3.2

La première fois, Ollama télécharge le modèle (~2 Go). Ensuite, tu arrives directement dans un chat interactif :

plaintext
>>> Bonjour ! Écris-moi un haïku sur l'intelligence artificielle.

Le modèle répond en direct. Tape /bye pour quitter.

Ce que tu dois voir : après ollama run llama3.2, un prompt >>> apparaît. Tape un message, appuie sur Entrée, et le modèle te répond en streaming (les mots apparaissent progressivement).

Les modèles incontournables à tester

bash
# Petit modèle ultra-rapide (parfait pour CPU) ollama run phi3:mini # 3.8B, ~2.3 Go # Modèle équilibré (qualité/vitesse) ollama run llama3.2 # 3B, ~2 Go # Modèle puissant (si tu as 16 Go+ de RAM et un GPU) ollama run llama3.1:8b # 8B, ~4.7 Go # Spécialiste code (Microsoft) ollama run codellama:7b # 7B, ~3.8 Go # Modèle français performant (Mistral) ollama run mistral:7b # 7B, ~4.1 Go # Modèle français optimisé ollama run gemma2:9b # 9B, ~5.4 Go

5. Gérer tes modèles : lister, supprimer, inspecter

Ollama propose des commandes simples pour gérer ta bibliothèque de modèles :

bash
# Lister tous les modèles installés ollama list # Voir les infos détaillées d'un modèle ollama show llama3.2 # Supprimer un modèle pour libérer de l'espace ollama rm phi3:mini # Voir quels modèles tournent actuellement ollama ps

Ce que tu dois voir : ollama list affiche un tableau avec le nom du modèle, sa taille, et sa date de modification.


6. Cas avancé : intégrer Ollama dans un script Python

Le terminal c'est cool, mais le vrai pouvoir d'Ollama, c'est de l'intégrer dans tes propres applications. Voici comment faire avec Python.

Installation du client Python

bash
pip install ollama

Premier script : un assistant personnel

Crée un fichier mon_assistant.py :

python
import ollama def poser_question(prompt): """Envoie une question au modèle local et retourne la réponse.""" response = ollama.chat( model="llama3.2", messages=[ { "role": "system", "content": "Tu es un assistant francophone, clair et pédagogue. Réponds toujours en français." }, { "role": "user", "content": prompt } ] ) return response["message"]["content"] # Exemple d'utilisation if __name__ == "__main__": question = "Explique-moi ce qu'est un réseau de neurones en 3 phrases simples." reponse = poser_question(question) print(" Assistant :") print(reponse)

Lance-le :

bash
python3 mon_assistant.py

Ce que tu dois voir : une réponse en français, en 3 phrases, qui explique les réseaux de neurones de façon simple.

Mini-app de chat complète

Passons à un vrai chatbot interactif. Crée chat_local.py :

python
import ollama SYSTEM_PROMPT = "Tu es un assistant IA qui parle français. Sois concis et utile." def chat(): """Chatbot interactif avec historique de conversation.""" print(" CHAT LOCAL OLLAMA (tape /bye pour quitter)\n") messages = [{"role": "system", "content": SYSTEM_PROMPT}] while True: user_input = input(" Toi : ") if user_input.lower() in ["/bye", "/quit", "/exit"]: print(" À bientôt !") break messages.append({"role": "user", "content": user_input}) print(" Assistant : ", end="", flush=True) # Streaming : les mots s'affichent au fur et à mesure stream = ollama.chat( model="llama3.2", messages=messages, stream=True ) full_response = "" for chunk in stream: content = chunk["message"]["content"] print(content, end="", flush=True) full_response += content print() # Saut de ligne après la réponse messages.append({"role": "assistant", "content": full_response}) if __name__ == "__main__": chat()

Lance-le :

bash
python3 chat_local.py

Ce que tu dois voir : un prompt Toi :. Tape un message, et la réponse s'affiche en streaming. La conversation garde le contexte pose une question de suivi pour vérifier !


7. Pièges classiques (et comment les éviter)

Piège n°1 : « Modèle introuvable »

bash
$ ollama run mistral Error: pull model manifest: 404: not found

Solution : Certains modèles nécessitent un tag de version. Utilise mistral:7b au lieu de mistral. Vérifie les tags disponibles sur ollama.com/library.

Piège n°2 : « Mon modèle est super lent »

Cause : Par défaut, Ollama utilise le CPU. Sans GPU, les modèles > 7B seront lents.

Solutions : - Utilise un modèle plus petit (phi3:mini, llama3.2:3b, gemma2:2b) - Si tu as une carte NVIDIA, vérifie que les drivers CUDA sont installés (nvidia-smi) - Sur macOS avec puce Apple Silicon (M1/M2/M3), Ollama exploite le GPU Metal automatiquement privilégie ces Macs

Piège n°3 : « Ollama ne répond plus » ou « Connexion refusée »

bash
$ ollama list Error: could not connect to ollama server

Solution : Le service Ollama n'est pas lancé.

  • macOS : lance l'application Ollama depuis le dossier Applications
  • Linux : sudo systemctl start ollama
  • Windows : vérifie que l'icône est dans la barre des tâches

Piège n°4 : « Plus d'espace disque »

Les modèles s'accumulent vite. Fais régulièrement le ménage :

bash
ollama list # Voir ce qui est installé ollama rm vieux_modele # Supprimer ce dont tu n'as plus besoin

Piège n°5 : « Le modèle répond en anglais »

Solution : Ajoute un system prompt en français, comme dans les exemples Python ci-dessus. Dans le terminal, tu peux aussi faire :

bash
ollama run llama3.2 >>> /set system Réponds toujours en français. Sois clair et concis.

8. Pour aller plus loin

Open WebUI : une interface graphique façon ChatGPT

Pour ceux qui préfèrent une interface web plutôt que le terminal, Open WebUI transforme Ollama en une copie locale de ChatGPT :

bash
# Avec Docker (recommandé) docker run -d -p 3000:8080 \ -v open-webui:/app/backend/data \ -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \ --name open-webui \ ghcr.io/open-webui/open-webui:main

Ouvre http://localhost:3000 tu as un ChatGPT local, avec historique, upload de fichiers, et même des plugins.

Créer ton propre modèle personnalisé

Ollama permet de créer des variantes de modèles avec un Modelfile :

bash
# Crée un fichier Modelfile cat > Modelfile << 'EOF' FROM llama3.2 SYSTEM "Tu es un expert en cuisine française. Donne des conseils précis et des recettes détaillées." PARAMETER temperature 0.7 PARAMETER top_p 0.9 EOF # Construis ton modèle personnalisé ollama create chef-ai -f Modelfile # Lance-le ollama run chef-ai

Exposer ton modèle via API REST

Ollama expose automatiquement une API REST sur http://localhost:11434 :

bash
# Tester l'API directement curl http://localhost:11434/api/generate -d '{ "model": "llama3.2", "prompt": "Pourquoi le ciel est-il bleu ?", "stream": false }'

Cela signifie que tu peux appeler ton modèle depuis n'importe quel langage (JavaScript, Go, Rust...) ou même depuis un smartphone sur le même réseau Wi-Fi !


Conclusion

En 20 minutes, tu viens de :

Installer Ollama sur ta machine Télécharger et exécuter ton premier LLM local Dialoguer avec lui en terminal L'intégrer dans un script Python Construire une app de chat privée avec historique Comprendre les pièges à éviter

Tu as maintenant un assistant IA gratuit, privé et hors ligne qui tourne directement sur ton PC. Plus besoin de connexion internet, plus besoin d'abonnement, plus besoin de confier tes données à qui que ce soit.

Le seul abonnement qu'il te reste à résilier, c'est celui de ChatGPT.


Ollama : Fais tourner un ChatGPT privé sur ton PC (sans cloud, sans abonnement) | iancr