Changer le thème

Ollama + Open WebUI : créer une interface ChatGPT locale (guide complet)

Easton editorial illustration: one local-model cube flowing into a large browser chat card

Ollama rend l’exécution locale de grands modèles étonnamment simple — une commande suffit pour l’installer, et un vieux portable avec 8 Go de RAM peut faire tourner un modèle 7B. Open WebUI, de son côté, fournit une interface style ChatGPT : déploiement Docker en un clic, base de connaissances intégrée, gestion multi-utilisateurs et API compatible OpenAI.

Cet article vous montre comment assembler ces deux outils pour créer un système de dialogue IA complet en local.


Pourquoi choisir un déploiement local ?

ChatGPT et Claude sont très pratiques, mais plusieurs points me gênent.

Le coût. Vingt dollars par mois, soit 240 dollars par an. Pour un usage intensif, pourquoi pas — mais pour poser quelques questions de code ou chercher des infos de temps en temps, ce n’est pas évident. En local, une fois le modèle téléchargé, c’est gratuit : pas de facturation au token, pas de renouvellement d’abonnement.

La confidentialité. Ce que vous saisissez est envoyé aux serveurs d’OpenAI ou d’Anthropic. Documents professionnels, notes personnelles, conversations privées — honnêtement, je ne suis pas totalement rassuré. En local, les données restent sur mon propre disque, nulle part ailleurs.

Le mode hors ligne. En voyage ou avec un mauvais réseau, l’IA cloud ne sert à rien. Une fois le modèle téléchargé, il tourne entièrement hors ligne — utilisable sans connexion.

La personnalisation. Les paramètres des services cloud sont verrouillés. Temperature, modèles de prompt — vous ne pouvez rien ajuster. En local, vous modifiez ce que vous voulez.


Aperçu des concepts clés

Clarifions d’abord le rôle de chaque outil, sinon la suite devient confuse.

Ollama est un exécuteur de modèles. Il télécharge, gère et exécute les grands modèles de langage, tout en exposant une API (port 11434 par défaut). Voyez-le comme une « API OpenAI locale ».

Open WebUI est une interface web. Fenêtre de dialogue style ChatGPT, changement de modèle, gestion de l’historique — tout y est. Il se connecte à Ollama via l’API et transforme les opérations en ligne de commande en interface graphique dans le navigateur.

L’architecture ressemble à ceci :

Navigateur (localhost:3000)

Open WebUI (conteneur Docker)
    ↓ HTTP API
Ollama (service local, port 11434)

Modèles locaux (stockés dans ~/.ollama)

Vous ouvrez le navigateur → Open WebUI appelle l’API Ollama → Ollama charge le modèle et infère → le résultat vous revient. C’est aussi simple que ça.


Configuration système requise

Avant le déploiement, vérifiez que votre matériel est à la hauteur.

Configuration minimale :

  • Processeur : Intel i5 ou équivalent
  • Mémoire : 8 Go RAM (16 Go ou plus recommandé)
  • Stockage : au moins 10 Go libres (les fichiers de modèles sont volumineux)
  • Système : Windows 10+, macOS 11+, Linux

Configuration recommandée :

  • GPU : NVIDIA RTX 3060 ou mieux (inférence nettement plus rapide)
  • Mac Apple Silicon : séries M1/M2/M3, mémoire unifiée, naturellement adaptées aux modèles

Dépendances logicielles :

  • Docker : pour exécuter Open WebUI (optionnel, mais Docker simplifie la vie)

Vérifiez que Docker est installé :

docker --version
docker compose version

Si un numéro de version s’affiche, c’est bon. Sinon, installez Docker Desktop (Windows/macOS) ou Docker Engine (Linux).


Étape 1 : installer Ollama

L’installation d’Ollama se fait en une commande.

1.1 Installation macOS et Linux

Ouvrez un terminal et exécutez :

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

Le script télécharge et installe Ollama automatiquement. Une fois terminé, le service démarre en arrière-plan.

1.2 Installation Windows

Dans PowerShell, exécutez :

irm https://ollama.com/install.ps1 | iex

Ou téléchargez le package Windows sur ollama.com/download et double-cliquez pour l’installer. Les deux méthodes conviennent.

1.3 Installation Docker (optionnel)

Vous voulez aussi Ollama en conteneur ? Avec Docker :

docker pull ollama/ollama:latest
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

-v ollama:/root/.ollama stocke les modèles dans un volume Docker — ils ne disparaissent pas au redémarrage du conteneur.

1.4 Vérifier l’installation

Une fois installé, confirmez qu’Ollama fonctionne :

ollama --version

Vous devriez voir un numéro de version du type ollama version is 0.1.x.

Si le service ne démarre pas automatiquement, lancez-le manuellement :

ollama serve

Cela démarre le service API Ollama en arrière-plan, à l’écoute sur http://localhost:11434.


Étape 2 : télécharger et exécuter un modèle

Ollama est prêt — téléchargez un modèle.

2.1 Comment choisir un modèle

Des modèles de tailles différentes exigent du matériel différent. Ce tableau vous aide à choisir rapidement :

ConfigurationModèle recommandéParamètresEspace disqueCommande
8 Go RAM, sans GPULlama 3.2 1B1B740 Moollama run llama3.2:1b
8 Go RAM, sans GPUGemma 3 2B2B1,4 Goollama run gemma3:2b
16 Go RAMLlama 3.2 3B3B2 Goollama run llama3.2
16 Go RAMQwen 2.5 7B7B4 Goollama run qwen2.5:7b
16 Go RAM + GPULlama 3.1 8B8B4,7 Goollama run llama3.1:8b
32 Go RAM + GPUDeepSeek R1 14B14B8 Goollama run deepseek-r1:14b
64 Go RAM + GPULlama 3.3 70B70B39 Goollama run llama3.3:70b

Par usage :

  • Dialogue quotidien, tâches simples : Llama 3.2 1B ou 3B
  • Bon niveau en chinois : série Qwen 2.5 (Alibaba, très performante en chinois)
  • Écriture de code : série DeepSeek R1 (fort en raisonnement, adaptée à la génération de code)
  • Haute performance générale : Llama 3.1 8B ou Mistral 7B

2.2 Télécharger un modèle

Utilisez la commande ollama pull :

# Télécharger Llama 3.2 (version 3B par défaut)
ollama pull llama3.2

# Télécharger DeepSeek R1 7B
ollama pull deepseek-r1:7b

# Télécharger Qwen 2.5 7B (performant en chinois)
ollama pull qwen2.5:7b

Le premier téléchargement peut prendre quelques minutes — selon la taille du modèle et votre débit. Pour Llama 3.2, j’ai attendu environ 2 minutes ; DeepSeek R1 7B un peu plus longtemps.

2.3 Lancer une conversation

Une fois téléchargé, lancez directement :

ollama run llama3.2

Vous entrez dans une interface de dialogue :

>>> Send a message (/? for help)

Saisissez une question, le modèle répond en temps réel :

>>> 你好,介绍一下你自己

你好!我是基于 Llama 3.2 模型的本地 AI 助手...

Pour quitter : Ctrl + d ou tapez /bye.

2.4 Commandes de gestion courantes

Voir les modèles téléchargés :

ollama list

Supprimer un modèle :

ollama rm llama3.2:1b

Dupliquer un modèle (alias) :

ollama cp llama3.2 my-llama

Voir les détails d’un modèle :

ollama show llama3.2

Étape 3 : installer Open WebUI

La ligne de commande suffit. Mais si vous voulez une interface graphique style ChatGPT — installez Open WebUI.

3.1 Déploiement Docker en conteneur unique (rapide)

Assurez-vous qu’Ollama tourne (ollama serve), puis exécutez :

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart unless-stopped \
  ghcr.io/open-webui/open-webui:main

Explication des paramètres :

  • -p 3000:8080 : mappe le port 8080 du conteneur sur le port 3000 local
  • --add-host=host.docker.internal:host-gateway : permet au conteneur d’accéder au service Ollama sur l’hôte
  • -v open-webui:/app/backend/data : persistance des données (historique, comptes utilisateurs)
  • --restart unless-stopped : redémarrage automatique du conteneur au redémarrage de Docker

Une fois déployé, ouvrez le navigateur :

http://localhost:3000

3.2 Déploiement Docker Compose (recommandé)

Vous voulez gérer Ollama et Open WebUI tous les deux avec Docker ? Docker Compose est plus pratique.

Créez un répertoire :

mkdir open-webui-project
cd open-webui-project

Créez un fichier compose.yaml :

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    volumes:
      - ./data:/app/backend/data
    environment:
      - "OLLAMA_BASE_URL=http://ollama:11434"
    restart: unless-stopped
    depends_on:
      - ollama

  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    volumes:
      - ./ollama:/root/.ollama
    ports:
      - "11434:11434"
    restart: unless-stopped

Démarrez les services :

docker compose up -d

Vérifiez l’état :

docker compose ps

Les deux conteneurs doivent afficher running.

3.3 Première visite et configuration

Ouvrez http://localhost:3000 dans le navigateur — la première fois, vous verrez la page de création de compte.

Créer un compte administrateur :

  • Saisissez nom d’utilisateur, e-mail et mot de passe
  • Cliquez sur « Sign Up »

Après connexion, Open WebUI détecte automatiquement le service Ollama et liste les modèles disponibles. Si vous avez déjà téléchargé des modèles, le menu déroulant affichera par exemple :

llama3.2:latest
deepseek-r1:7b
qwen2.5:7b

Pas de détection automatique ? Allez dans Settings → Connections et saisissez manuellement l’adresse API Ollama :

http://host.docker.internal:11434

Avec Docker Compose, utilisez :

http://ollama:11434

Étape 4 : utilisation de base

L’interface est prête — voyons comment l’utiliser.

4.1 Dialogue style ChatGPT

L’interface ressemble beaucoup à ChatGPT :

  • À gauche : liste des conversations, création, suppression, renommage
  • En haut : menu déroulant de sélection du modèle
  • En bas : zone de saisie, appuyez sur Entrée pour envoyer

Choisissez un modèle (par ex. llama3.2), posez une question — la réponse s’affiche en streaming, comme ChatGPT. Plutôt satisfaisant.

4.2 Changer de modèle

Vous pouvez changer de modèle dans une même conversation. Cliquez sur le menu déroulant en haut, sélectionnez un autre modèle, et continuez.

Utile pour comparer les réponses. Par exemple :

  • Posez la même question à Llama 3.2
  • Passez à DeepSeek R1 et voyez si la réponse est plus approfondie

4.3 Gestion des conversations

  • Nouvelle conversation : cliquez sur « New Chat » à gauche
  • Renommer : cliquez sur le titre de la conversation et modifiez
  • Supprimer : clic droit sur la conversation, choisissez supprimer
  • Rechercher l’historique : barre de recherche en haut à gauche

Toutes les conversations sont stockées dans le volume Docker local — rien n’est envoyé au cloud.

4.4 Ajustement des paramètres

Cliquez sur l’icône de paramètres à droite de la zone de saisie pour ajuster :

  • Temperature : contrôle le caractère aléatoire des réponses. Valeurs basses (0,1-0,3) = plus stables ; valeurs hautes (0,7-0,9) = plus créatives
  • Top P : contrôle l’étendue du choix lexical
  • Longueur maximale de sortie : limite le nombre de tokens de la réponse

Ces paramètres influencent fortement le résultat. Temperature basse pour le code, haute pour la rédaction créative.


Étape 5 : fonctionnalités avancées

Au-delà du dialogue de base, Open WebUI propose plusieurs fonctionnalités avancées utiles.

5.1 Construction d’une base de connaissances RAG

RAG (Retrieval-Augmented Generation) — transformez vos documents en base de connaissances consultable par l’IA.

Comment l’utiliser :

  1. Cliquez sur l’onglet « Documents » à gauche
  2. Cliquez sur « Upload » et sélectionnez un fichier (PDF, Markdown, TXT, DOCX pris en charge)
  3. Après téléversement, le système traite et indexe automatiquement

Une fois téléversés, cochez « Use Documents » pendant la conversation — l’IA récupère les informations pertinentes dans vos documents.

Exemples d’usage :

  • Téléversez la doc API de votre entreprise et demandez « quels sont les paramètres de telle interface »
  • Téléversez vos notes personnelles et demandez « quelle était la conclusion de la dernière réunion »
  • Téléversez un PDF technique et demandez « une explication détaillée de tel concept »

C’est une version locale du « dialogue avec base de connaissances » — les documents restent sur votre disque.

5.2 Gestion multi-utilisateurs

Plusieurs personnes partagent le système ? Vous pouvez créer des comptes distincts.

L’administrateur peut, dans Settings → Users :

  • Créer de nouveaux utilisateurs
  • Définir les permissions (utilisateur standard, administrateur)
  • Consulter la liste des utilisateurs

L’historique de chaque utilisateur est stocké séparément, sans mélange.

5.3 Intégration API

Open WebUI et Ollama exposent tous deux une API compatible OpenAI, connectable directement à vos outils existants.

Appeler l’API Ollama :

curl http://localhost:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    {"role": "user", "content": "Hello"}
  ],
  "stream": false
}'

Appeler l’API Open WebUI (avec authentification, obtenez d’abord un token) :

curl http://localhost:3000/api/chat/completions \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "model": "llama3.2",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Exemple Python :

import requests

response = requests.post('http://localhost:11434/api/chat', json={
    'model': 'llama3.2',
    'messages': [{'role': 'user', 'content': 'Hello'}],
    'stream': False
})

print(response.json()['message']['content'])

Vous pouvez ainsi connecter votre modèle local à un plugin VS Code, un script d’automatisation ou tout outil compatible API OpenAI.


Étape 6 : réglages de performance

Inférence lente ? Mémoire insuffisante ? Ajustez quelques paramètres.

6.1 Accélération GPU

Ollama détecte et utilise automatiquement le GPU. GPU non reconnu ? Vérifiez les pilotes.

GPU NVIDIA :

Assurez-vous d’avoir installé les pilotes NVIDIA et CUDA. Ollama détecte le GPU via nvidia-smi.

Mac Apple Silicon :

Sur Mac M1/M2/M3, aucune configuration supplémentaire — Ollama utilise automatiquement l’accélération Metal.

GPU AMD :

Sous Linux, installez la version ROCm d’Ollama :

curl -L https://ollama.com/download/ollama-linux-amd64-rocm.tgz -o ollama-linux-amd64-rocm.tgz
sudo tar -C /usr/ -xzf ollama-linux-amd64-rocm.tgz

6.2 Paramètres de concurrence

Vous voulez exécuter plusieurs modèles simultanément ou augmenter le parallélisme ? Définissez des variables d’environnement :

# Nombre de modèles exécutés en parallèle
OLLAMA_NUM_PARALLEL=2 ollama serve

# Nombre maximal de modèles chargés
OLLAMA_MAX_LOADED_MODELS=2 ollama serve

Ces paramètres conviennent aux scénarios multi-utilisateurs, pour éviter les délais de chargement lors des changements de modèle.

6.3 Quantification des modèles

Un grand modèle (comme 70B) consomme trop de mémoire ? Utilisez une version quantifiée :

# Version quantifiée 4-bit (occupation réduite d'environ 75 %)
ollama pull llama3.3:70b-q4_K_M

La quantification réduit légèrement la qualité, mais améliore nettement vitesse et consommation mémoire.


Dépannage des problèmes courants

Le déploiement peut rencontrer des obstacles. Voici les cas les plus fréquents.

Q1 : téléchargement de modèle très lent

Cause : les serveurs officiels Ollama sont à l’étranger ; le téléchargement peut être lent selon la région.

Solution :

  • Utiliser un proxy
  • Ou télécharger le fichier GGUF depuis un miroir et l’importer manuellement dans Ollama

Import manuel :

# Après téléchargement du fichier GGUF, créez un Modelfile
FROM ./llama3.2.gguf

# Créer le modèle
ollama create my-llama3.2 -f Modelfile

Q2 : Open WebUI ne se connecte pas à Ollama

Symptôme : l’interface affiche « Ollama connection failed ».

Diagnostic :

  1. Confirmez qu’Ollama tourne :
curl http://localhost:11434

Devrait retourner "Ollama is running".

  1. En Docker, vérifiez la configuration réseau :
docker exec -it open-webui curl http://host.docker.internal:11434

Si ça ne passe pas, configurez manuellement la variable OLLAMA_BASE_URL.

Q3 : GPU non reconnu

Symptôme : inférence très lente, nvidia-smi montre que le GPU n’est pas utilisé.

Diagnostic :

  1. Vérifiez les pilotes NVIDIA :
nvidia-smi

Les informations GPU doivent s’afficher.

  1. Vérifiez si Ollama reconnaît le GPU :
ollama show llama3.2 --system

Si « CPU-only » s’affiche, le GPU n’est pas reconnu.

Solution :

  • Réinstaller les pilotes NVIDIA
  • Vérifier la compatibilité CUDA
  • Sous Linux, définir éventuellement CUDA_VISIBLE_DEVICES

Q4 : erreur de mémoire insuffisante

Symptôme : erreur OOM (Out of Memory) avec un grand modèle.

Solution :

  • Passer à un modèle plus petit (1B ou 3B)
  • Utiliser une version quantifiée (q4_K_M)
  • Augmenter l’espace swap (Linux)
  • Fermer les autres programmes gourmands en mémoire

Q5 : échec de démarrage du conteneur Docker

Symptôme : docker ps affiche l’état Exited pour le conteneur.

Diagnostic :

Consultez les logs :

docker logs open-webui

Causes fréquentes :

  • Conflit de port (port 3000 déjà utilisé)
  • Problème de permissions sur le volume
  • Mémoire insuffisante

Solution :

  • Changer de port (par ex. -p 8080:8080)
  • Vérifier les permissions du volume Docker
  • Augmenter la limite mémoire du conteneur

Conclusion

Avec Ollama + Open WebUI, créer une interface ChatGPT locale se résume à quelques étapes :

  1. Installer Ollama (une commande)
  2. Télécharger le modèle adapté (selon le matériel)
  3. Déployer Open WebUI (démarrage Docker en un clic)
  4. Commencer à dialoguer

Une fois en place, vous disposez de :

  • Un assistant IA gratuit
  • Un stockage de données entièrement privé
  • Un usage hors ligne
  • Des paramètres de modèle personnalisables
  • Une base de connaissances extensible (RAG)
  • Une API intégrable

Cette solution convient à un usage personnel quotidien comme au déploiement interne d’une petite équipe. Pour aller plus loin :

  • Personnaliser le comportement du modèle avec Modelfile
  • Intégrer plusieurs modèles cloud (local + API OpenAI simultanément)
  • Déploiement de niveau production avec Kubernetes


Ressources de référence

Pour les questions, consultez les GitHub Issues d’Ollama et Open WebUI — la communauté est active et la plupart des problèmes ont déjà une réponse.

Créer une interface ChatGPT locale

Déployer une interface de dialogue IA style ChatGPT en local avec Ollama et Open WebUI

⏱️ Estimated time: 30 min

  1. 1

    Step 1: Installer Ollama

    Choisissez la méthode d'installation selon votre système d'exploitation :

    • macOS/Linux : curl -fsSL https://ollama.com/install.sh | sh
    • Windows : irm https://ollama.com/install.ps1 | iex
    • Docker : docker pull ollama/ollama:latest

    Après installation, vérifiez avec ollama --version
  2. 2

    Step 2: Télécharger un modèle

    Choisissez un modèle selon votre matériel :

    • 8 Go RAM : ollama pull llama3.2:1b
    • 16 Go RAM : ollama pull llama3.2
    • 16 Go RAM + GPU : ollama pull llama3.1:8b
    • Optimisé chinois : ollama pull qwen2.5:7b
  3. 3

    Step 3: Déployer Open WebUI

    Déploiement Docker en conteneur unique :

    docker run -d -p 3000:8080 \
    --add-host=host.docker.internal:host-gateway \
    -v open-webui:/app/backend/data \
    --name open-webui \
    ghcr.io/open-webui/open-webui:main

    Ou utilisez Docker Compose pour gérer les deux conteneurs
  4. 4

    Step 4: Configuration initiale

    Accédez à http://localhost:3000 :

    • Créez un compte administrateur
    • Détection automatique du service Ollama
    • Sélectionnez un modèle et commencez à dialoguer
  5. 5

    Step 5: Configuration des fonctionnalités avancées

    Fonctionnalités optionnelles :

    • Base de connaissances RAG : téléversez des documents PDF/Markdown
    • Intégration API : point de terminaison compatible OpenAI
    • Accélération GPU : détection automatique, sans configuration

FAQ

Quelle configuration matérielle faut-il pour déployer une IA en local ?
Minimum : 8 Go RAM, processeur Intel i5, 10 Go d'espace disque. Recommandé : 16 Go RAM ou plus ; avec une NVIDIA RTX 3060 ou un Mac Apple Silicon, les performances sont nettement meilleures. Les grands modèles (comme 70B) nécessitent 64 Go RAM.
Quels modèles Ollama prend-il en charge ?
Modèles open source courants :

• Série Meta Llama (1B-70B)
• Modèles de raisonnement DeepSeek R1
• Série Alibaba Qwen (optimisée chinois)
• Google Gemma, Mistral, etc.

Utilisez ollama list pour voir les modèles téléchargés, ollama pull pour en télécharger de nouveaux
Que faire si Open WebUI ne se connecte pas à Ollama ?
Vérifiez d'abord que le service Ollama tourne (curl http://localhost:11434). En déploiement Docker, contrôlez la configuration réseau ; vous devrez peut-être définir manuellement la variable d'environnement OLLAMA_BASE_URL sur http://host.docker.internal:11434
L'IA déployée en local peut-elle fonctionner hors ligne ?
Oui. Une fois le modèle téléchargé, tout fonctionne hors ligne sans connexion réseau. Historique de conversation et documents de la base de connaissances restent en local — idéal en déplacement, en voyage ou avec un réseau instable
Comment connecter des outils existants (comme un plugin VS Code) ?
Ollama fournit une API compatible OpenAI (port 11434) :

• Point de terminaison : http://localhost:11434/api/chat
• Format identique à l'API OpenAI
• Appel direct depuis Python/Node.js

Il suffit de remplacer l'adresse API OpenAI par l'adresse locale

12 min de lecture · Publié le: 4 avr. 2026 · Mis à jour le: 27 juil. 2026

Commentaires

Connectez-vous avec GitHub pour laisser un commentaire

Easton BlogEaston Blog