DébutantLLM
15 min de lecture11 vues

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 :

curl -fsSL https://ollama.com/install.sh | sh

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èleTailles disponiblesRAM minimalePoints forts
Llama 3.38B, 70B6 Go / 48 GoMeilleur rapport qualité/taille
Mistral Small22B14 GoMultilingue, rapide
Qwen 2.50.5B → 72B1 Go → 48 GoExcellent code, 128k context
Phi-414B10 GoRaisonnement, compact
Gemma 31B, 4B, 12B, 27B1 Go → 18 GoMultimodal (vision)
DeepSeek-R17B, 14B, 32B, 70B5 Go → 48 GoRaisonnement step-by-step
ollama list              # Modèles installés
ollama pull qwen2.5:14b  # Télécharger un modèle spécifique

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é.

FormatRAM (7B)QualitéVitesseRecommandation
F16~14 GoMaximaleLenteBenchmarks/recherche
Q8_0~7 GoExcellenteBonneGPU puissant dispo
Q4_K_M~4 GoTrès bonneRapideUsage quotidien
Q2_K~2.5 GoCorrecteTrès rapideMachines 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.