🇬🇧 English

Ollama et Open WebUI : déploiement local de LLM avec Docker

Architecture self-hosted pour l'IA générative : configuration, optimisation et cas d'usage

Par Angelo Lima

Architecture d’inférence locale : enjeux et solutions techniques

Le déploiement de modèles de langage dans des environnements de production soulève des défis critiques : coûts d’API récurrents, dépendance aux services cloud, et problématiques de confidentialité des données. Ces contraintes nécessitent des alternatives architecturales robustes et autonomes.

Ollama, outil open-source pour l’exécution de modèles de langage locaux, combiné à Open WebUI, interface web extensible pour l’IA générative¹, constitue une solution technique mature pour l’inférence IA self-hosted haute performance.


Architecture technique Ollama : optimisation et performances

Moteur d’inférence optimisé

Ollama intègre des optimisations spécifiques aux architectures hardware modernes² pour maximiser les performances d’inférence :

  • Quantification dynamique : réduction de l’empreinte mémoire sans perte significative de qualité
  • Parallélisation GPU : exploitation optimale des architectures CUDA et ROCm
  • Gestion mémoire adaptive : allocation dynamique selon les contraintes système
  • Cache intelligent : mise en cache des activations pour réduire la latence

Écosystème de modèles supportés

L’architecture Ollama supporte un large éventail de modèles de référence :

  • Meta Llama 3 : modèles conversationnels haute performance (8B, 70B paramètres)
  • Mistral 7B : architecture optimisée pour l’efficacité computationnelle
  • CodeLlama : modèles spécialisés génération et analyse de code
  • Gemma : modèles Google optimisés pour les déploiements locaux

Open WebUI : interface utilisateur et fonctionnalités avancées

Architecture modulaire

Open WebUI constitue une plateforme IA self-hosted extensible, conçue pour fonctionner entièrement offline³. Ses capacités incluent :

  • Support multi-backend : intégration Ollama, APIs OpenAI-compatibles
  • Moteur RAG intégré : Retrieval-Augmented Generation pour l’interrogation documentaire
  • Gestion multi-utilisateurs : authentification et isolation des sessions
  • APIs RESTful : intégration programmatique dans les workflows existants

Fonctionnalités d’entreprise

La plateforme intègre des capacités avancées pour les déploiements professionnels :

  • Persistance des conversations : historique complet avec recherche sémantique
  • Modèles personnalisés : fine-tuning et déploiement de modèles spécifiques
  • Métriques de performance : monitoring des temps de réponse et utilisation ressources
  • Export/Import : sauvegarde et migration des configurations

Déploiement conteneurisé avec Docker Compose

Configuration de référence

Le déploiement Docker Compose optimise la gestion des dépendances et la scalabilité⁴ :

services:
  ollama:
    image: ollama/ollama:latest
    ports:
      - "11434:11434"
    volumes:
      - ollama:/root/.ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 2
              capabilities: [gpu]
  
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - "3001:8080"
    volumes:
      - open-webui:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    depends_on:
      - ollama

Optimisations de performance

La configuration GPU nécessite des ajustements spécifiques pour maximiser les performances⁵ :

  • Allocation GPU : réservation explicite des ressources CUDA
  • Volumes persistants : stockage optimisé des modèles (jusqu’à 7GB par modèle)
  • Configuration réseau : isolation des services avec communication inter-conteneurs
  • Variables environnement : paramétrage des timeouts et limites mémoire

Gestion des modèles et optimisations

Téléchargement et mise en cache

Les modèles nécessitent un téléchargement initial via l’interface ou en ligne de commande⁶ :

# Téléchargement de modèles via CLI
ollama pull llama3:8b
ollama pull mistral:7b  
ollama pull codellama:13b

# Vérification des modèles installés
ollama list

Stratégies de déploiement

Configuration multi-modèles : L’architecture permet l’exécution simultanée de plusieurs modèles selon les contraintes hardware⁷.

Optimisation mémoire : Sélection automatique des modèles selon la RAM disponible (minimum 8GB recommandés, 16GB optimal).


Cas d’usage et intégration d’entreprise

Applications pratiques

Assistant de développement : Génération et analyse de code avec CodeLlama, intégration dans les workflows CI/CD pour la documentation automatique.

Analyse documentaire : RAG (Retrieval-Augmented Generation) pour l’interrogation de bases documentaires techniques⁸, permettant l’extraction d’informations contextuelles précises.

Prototypage conversationnel : Interface de test pour les applications de chatbot avant déploiement en production.

Intégration avec OpenAI

La compatibilité API permet l’hybridation cloud/local⁹ :

  • Modèles locaux pour les tâches sensibles ou répétitives
  • APIs cloud pour les cas d’usage nécessitant les modèles les plus récents
  • Basculement automatique selon la charge et les coûts

Métriques de performance et dimensionnement

Exigences système

Les déploiements Ollama + Open WebUI nécessitent un dimensionnement approprié¹⁰ :

  • RAM minimum : 16GB (32GB recommandés pour les modèles 13B+)
  • GPU recommandé : NVIDIA GTX 1060 4GB minimum, RTX 4090 optimal
  • Stockage : 50-100GB selon le nombre de modèles déployés
  • Images Docker : Ollama (4.76GB), Open WebUI (3.77GB)

Optimisations de performance

  • Temps de démarrage : 30-60 secondes selon la taille du modèle
  • Latence d’inférence : 50-200ms par token selon l’architecture GPU
  • Débit concurrent : jusqu’à 10 utilisateurs simultanés sur hardware RTX 4090

Sécurité et gouvernance

Isolation des données

L’architecture self-hosted garantit :

  • Confidentialité absolue : aucune transmission de données vers des services tiers
  • Contrôle d’accès : authentification locale et gestion des permissions
  • Audit trails : traçabilité complète des interactions et requêtes
  • Sauvegarde : possibilité d’export complet pour reprise d’activité

Conclusion : autonomie et performance pour l’IA générative

La combinaison Ollama + Open WebUI établit un nouveau standard pour les déploiements IA self-hosted. Cette architecture résout les défis critiques de coût, confidentialité et dépendance cloud tout en maintenant des performances comparables aux solutions SaaS.

L’approche conteneurisée facilite le déploiement et la maintenance, tandis que l’extensibilité de la plateforme garantit l’évolutivité selon les besoins métier. Cette solution positionne les organisations pour une adoption IA autonome et maîtrisée.


Sources

  1. Open WebUI: User-friendly AI Interface - GitHub
  2. Run LLMs locally or in Docker with Ollama & Ollama-WebUI - Medium
  3. How to setup Open WebUI with Ollama and Docker Desktop - DEV Community
  4. How to use Ollama with Open WebUI with Docker and Docker Compose - Geshan Blog
  5. How to locally deploy ollama and Open-WebUI with Docker Compose - Medium
  6. Running LLM locally with Ollama and Open WebUI - My Playground
  7. Setting Up Ollama with Open-WebUI: A Docker Compose Guide - Archy.net
  8. Running LLMs Locally Using Ollama and Open WebUI on Linux - Linux TLDR
  9. Running Ollama and Open WebUI with Docker Compose - A-Chacon
  10. A local AI setup using Ollama and Open WebUI - Emcken.dk
Share: