Intelligence Artificielle

Héberger ses LLM soi-même en 2026 : Ollama, vLLM, LiteLLM, OpenWebUI

La stack LLM self-hosted de 2026 : moteur d'inférence (Ollama, vLLM), proxy LiteLLM, interface OpenWebUI et assistant code Continue.dev. Souveraineté des données, coût et indépendance pour l'Afrique de l'Ouest.

Chaque appel à une API de LLM commerciale, c’est trois choses qui partent : un peu d’argent en dollars, un peu de vos données chez un tiers, et un peu de votre autonomie. Pour un développeur ou une PME d’Afrique de l’Ouest, les trois comptent. Héberger vos modèles de langage vous-même change l’équation : les données restent chez vous, le coût marginal d’une requête tombe à l’électricité, et plus rien ne casse si une API étrangère change ses prix ou ferme l’accès depuis votre pays.

Là où notre guide Intégrer un LLM dans votre application montrait comment consommer une API d’IA, ce pilier prend l’angle inverse : héberger le modèle soi-même. Il cartographie la stack LLM self-hosted de 2026 — quatre briques qui s’emboîtent : un moteur d’inférence (Ollama ou vLLM), une couche proxy (LiteLLM), une interface (OpenWebUI) et l’intégration dans l’éditeur (Continue.dev). Vous n’y trouverez pas le pas-à-pas de chaque outil — les tutoriels du cluster s’en chargent — mais la carte mentale qui vous évite de mal choisir : un moteur grand public là où il fallait du débit, un proxy oublié qui vous enferme dans un fournisseur, une interface qui expose vos modèles à tout l’internet.

Ce que ce parcours vous permettra de faire

  • Choisir le bon moteur d’inférence selon votre matériel et votre nombre d’utilisateurs (Ollama pour démarrer, vLLM pour le débit) ;
  • Placer une couche proxy qui unifie tous vos modèles derrière une seule API compatible OpenAI, locale comme distante ;
  • Offrir à vos équipes une interface de chat self-hosted, offline, avec RAG sur vos propres documents ;
  • Brancher un assistant de code sur votre modèle local, sans envoyer une ligne de votre code dehors ;
  • Raisonner coût, souveraineté des données et latence pour une infrastructure IA qui tient en Afrique de l’Ouest.

Le parcours d’apprentissage du cluster

La stack se construit de bas en haut — d’abord le moteur, puis la façade, enfin les usages. Ordre conseillé :

  1. Le moteur, version simpleOllama : modèles quantifiés et fine-tuning local : faire tourner un modèle sur du matériel modeste.
  2. Le moteur, version performancevLLM : serveur d’inférence haute performance sur GPU : passer à l’échelle quand le débit compte.
  3. La couche proxyLiteLLM proxy : unifier les APIs Claude, Mistral, Ollama : une seule porte d’entrée pour tous vos modèles.
  4. L’interfaceOpenWebUI : interface de chat self-hosted : le chat pour vos équipes, avec RAG.
  5. Dans l’éditeurContinue.dev : assistant IA dans VSCode : coder avec l’IA sans fuite de code.

Pourquoi héberger ses LLM soi-même

Trois raisons reviennent, et aucune n’est idéologique. La première est la souveraineté des données : un cabinet, une clinique, une fintech ne peut pas envoyer des dossiers clients dans une API hébergée à l’étranger sans poser un problème de confidentialité — voire de conformité. En self-hosted, le prompt ne quitte jamais votre serveur.

La deuxième est le coût. Les APIs commerciales facturent au token, en dollars. À faible volume, c’est négligeable ; à l’échelle d’un produit qui traite des milliers de requêtes par jour, la facture grimpe vite et fluctue avec le taux de change. Un modèle ouvert sur votre propre GPU a un coût marginal proche de zéro une fois le matériel amorti.

La troisième est l’indépendance. Un fournisseur peut changer ses tarifs, déprécier un modèle, ou restreindre l’accès depuis certains pays. Votre stack self-hosted, elle, continue de tourner — c’est exactement ce qui rassure une entreprise qui bâtit un produit sur le long terme depuis Dakar, Abidjan ou Lomé.

Les concepts fondamentaux

Le moteur d’inférence : Ollama ou vLLM

Le moteur, c’est le programme qui charge un modèle et répond aux requêtes. Deux choix dominent, et ils ne visent pas le même usage. Ollama est le plus simple : il tourne sur un ordinateur portable ou un petit serveur, gère le téléchargement et la quantification des modèles, et démarre en une commande. Son défaut : il sérialise les requêtes par défaut — parfait pour une petite équipe, limité dès que plusieurs utilisateurs tapent en même temps.

vLLM joue dans une autre catégorie : c’est un serveur d’inférence optimisé pour le GPU (NVIDIA et AMD), capable de traiter de nombreuses requêtes en parallèle grâce au batching continu et au parallélisme de tenseurs sur plusieurs cartes. Il est piloté en ligne de commande, expose une API et écoute typiquement sur le port 8000. La règle de pouce : on démarre sur Ollama, et dès qu’on dépasse une dizaine ou une quinzaine d’utilisateurs simultanés, on bascule le moteur sur vLLM — sans toucher au reste de la stack.

La couche proxy : LiteLLM

Voici la brique que les débutants oublient, et qui change tout. LiteLLM est un proxy qui expose une seule API compatible OpenAI devant tous vos modèles — qu’ils soient locaux (Ollama, vLLM) ou distants (Claude, Mistral, Gemini, Groq, Azure OpenAI). C’est là qu’on met les règles : « le modèle chat-rapide pointe vers tel fournisseur ». Le jour où vous voulez rediriger chat-rapide ailleurs, vous modifiez LiteLLM — pas chaque application, pas chaque utilisateur. Cette indirection vous évite de vous enfermer dans un fournisseur et rend votre stack remplaçable pièce par pièce.

L’interface : OpenWebUI

OpenWebUI est l’interface de chat self-hosted, façon ChatGPT, conçue pour fonctionner entièrement hors-ligne. Elle est agnostique du moteur : elle parle à Ollama comme à n’importe quelle API compatible OpenAI — donc aussi à vLLM ou à votre proxy LiteLLM. Elle embarque du RAG (interroger vos propres documents) et la gestion des utilisateurs, ce qui en fait l’outil naturel pour donner un accès IA encadré à toute une équipe sans rien envoyer dehors.

L’intégration développeur : Continue.dev

Le dernier maillon ramène l’IA là où le développeur travaille : l’éditeur. Continue.dev est une extension (VSCode, JetBrains) qui branche un assistant — complétion, chat, édition — sur le modèle de votre choix. Pointé vers votre Ollama ou votre LiteLLM local, il offre l’autocomplétion et l’assistance au code sans qu’une seule ligne de votre code propriétaire ne quitte la machine. Pour une équipe soucieuse de confidentialité, c’est l’alternative directe aux assistants cloud.

Vue d’ensemble : comment les briques s’emboîtent

L’architecture se lit en trois étages. Tout en bas, le moteur (Ollama ou vLLM) qui exécute le modèle. Au milieu, le proxy LiteLLM qui présente une API unique et applique les règles de routage. En haut, les clients : OpenWebUI pour le chat humain, Continue.dev pour le code, et vos propres applications qui appellent l’API comme si c’était OpenAI. Chaque étage est remplaçable indépendamment — c’est ce découplage qui rend la stack durable.

Étage Rôle Outil Tutoriel
Moteur (simple) Exécuter un modèle, matériel modeste Ollama Ollama
Moteur (perf) Débit, concurrence, GPU vLLM vLLM
Proxy API unique, routage, secours LiteLLM LiteLLM
Interface Chat équipe + RAG, offline OpenWebUI OpenWebUI
Éditeur Assistance au code, sans fuite Continue.dev Continue.dev

Ollama ou vLLM : trancher

C’est la décision qui structure tout le reste. Le tableau ci-dessous résume ce qui guide vraiment le choix.

Critère Ollama vLLM
Mise en route Une commande Configuration GPU
Matériel Portable, CPU, petit GPU GPU dédié (NVIDIA/AMD), multi-GPU
Concurrence Sérialise (1 à la fois) Nombreuses requêtes en parallèle
Cible Démarrage, petite équipe, prototype Production, fort trafic, service partagé

La bascule n’est pas un déchirement : on commence sur Ollama, et on passe le moteur sur vLLM au-delà de ~10-15 utilisateurs simultanés, sans changer le proxy ni l’interface.

Choisir son modèle ouvert

Le moteur ne sert à rien sans modèle. L’écosystème ouvert de 2026 est riche : les familles Llama (Meta), Mistral et Mixtral, Qwen (Alibaba), DeepSeek, Gemma (Google) et Phi (Microsoft) couvrent tous les besoins, du petit modèle qui tient sur un portable aux gros modèles qui exigent plusieurs GPU. Le critère n°1 n’est pas le score sur un benchmark, c’est la VRAM disponible : un modèle ne tourne correctement que s’il tient dans la mémoire de votre carte graphique. La règle pratique : prendre le plus gros modèle quantifié qui tient confortablement dans votre GPU, puis le tester sur vos propres cas — un modèle moyen bien adapté à votre langue et à votre domaine bat souvent un mastodonte générique. Pour le français et les langues d’Afrique de l’Ouest, vérifiez toujours la qualité réelle sur vos textes avant de figer un choix.

Comprendre la quantification

Un modèle « brut » stocke ses poids en 16 bits ; c’est lourd. La quantification les compresse en 8, 5 ou 4 bits (format GGUF pour Ollama, méthodes AWQ ou GPTQ côté vLLM), ce qui divise la VRAM nécessaire au prix d’une légère perte de précision. En pratique, une quantification en 4 ou 5 bits offre le meilleur compromis : on fait tenir un modèle deux à trois fois plus gros sur le même GPU, avec une qualité quasi intacte. Ollama gère cette quantification automatiquement au téléchargement ; avec vLLM, on choisit explicitement le format au lancement.

Le RAG : faire parler vos documents

Un LLM ne connaît que ses données d’entraînement — pas vos contrats, vos procédures internes ou votre base de connaissances. Le RAG (Retrieval-Augmented Generation) comble ce manque : on découpe vos documents en morceaux, on les transforme en vecteurs (embeddings) stockés dans une base vectorielle, et à chaque question on récupère les passages pertinents qu’on injecte dans le prompt. Le modèle répond alors en s’appuyant sur vos sources, avec citations à l’appui. OpenWebUI embarque un RAG prêt à l’emploi : on téléverse des fichiers et on interroge. Pour des volumes importants ou une intégration applicative, on bâtit son propre pipeline avec une base vectorielle dédiée. C’est la brique qui transforme un chatbot générique en assistant qui connaît votre métier.

Personnaliser le modèle : prompting, RAG ou fine-tuning

Trois leviers, du plus léger au plus lourd, pour adapter un modèle à votre besoin. Le prompting (instructions système, exemples dans le prompt) suffit dans la majorité des cas : zéro infrastructure, ajustable en continu. Le RAG ajoute la connaissance de vos documents sans toucher au modèle — bon choix quand l’information change souvent. Le fine-tuning, enfin, ré-entraîne le modèle sur vos données pour ancrer un style ou un comportement : puissant, mais coûteux en calcul et à refaire à chaque évolution. La règle : épuisez le prompting, ajoutez le RAG si le modèle manque de contexte métier, et ne fine-tunez que lorsque les deux premiers ne suffisent plus. Commencer par le fine-tuning, c’est presque toujours se compliquer la vie pour rien.

La sécurité, là où le self-hosted se rate

Héberger un LLM, c’est ouvrir un service qui consomme du calcul coûteux et qui touche à vos données. Quelques réflexes non négociables. N’exposez jamais le moteur directement à Internet : Ollama ou vLLM restent sur le réseau interne, derrière le proxy. Mettez de l’authentification sur LiteLLM et OpenWebUI (clés d’API, comptes) — un endpoint d’inférence ouvert se fait miner en quelques heures. Chiffrez en HTTPS tout ce qui sort du serveur, et journalisez les appels pour suivre l’usage et le coût. Enfin, traitez les modèles et leurs poids comme des actifs : sauvegardez-les, versionnez vos configurations.

Le coût réel : faire le calcul

La question revient toujours : self-hosté est-il vraiment moins cher ? Faites le calcul honnêtement. Une API commerciale facture quelques centimes de dollar pour mille tokens — invisible à dix requêtes par jour, salé à cent mille. Le self-hosting déplace le coût vers le matériel : un GPU loué à l’heure ne se paie que pendant l’usage réel ; un GPU acheté s’amortit sur des mois mais ramène le coût marginal d’une requête à l’électricité. Le point de bascule dépend de votre volume : en dessous de quelques milliers de requêtes par jour, l’API reste souvent plus simple ; au-dessus, et surtout si vos données sont sensibles, le self-hosting devient rentable et souverain. Mesurez votre volume réel avant de trancher — pas une intuition.

Mettre en production : l’assemblage

En pratique, on n’installe pas ces outils à la main un par un : on les décrit dans un Docker Compose qui démarre le moteur, LiteLLM et OpenWebUI ensemble, sur un réseau interne. Devant, un reverse proxy (Nginx, Caddy ou Traefik) gère le HTTPS et n’expose que ce qui doit l’être — l’interface et l’API, jamais le moteur nu. On ajoute de la supervision (utilisation GPU, latence, coût via les logs LiteLLM) et une sauvegarde des configurations et des poids. Cette mise en boîte rend la stack reproductible : on la redéploie sur un autre serveur en quelques minutes — précieux quand on loue un GPU à l’heure pour absorber un pic.

Adaptation au contexte ouest-africain

Le self-hosting d’IA a un sens particulier ici. Côté matériel, un GPU dédié coûte cher à l’achat ; la location à l’heure (Hetzner, RunPod, fournisseurs régionaux) permet de ne payer le GPU que pendant les pics, avec vLLM, et de revenir à un petit serveur Ollama le reste du temps. Côté connectivité, un modèle local répond même quand la liaison internationale flanche — un argument décisif pour un service qui doit rester disponible. Côté souveraineté, garder les données chez soi répond aux exigences de confidentialité des secteurs sensibles (santé, finance, juridique) sans dépendre d’une juridiction étrangère. Et côté coût, raisonner en FCFA amortis plutôt qu’en dollars facturés au token change radicalement le calcul de rentabilité d’un produit IA.

Quand le self-hosting n’est pas le bon choix

Par honnêteté : le self-hosting n’est pas toujours la réponse. Si votre volume est faible, si vous n’avez ni GPU ni compétence d’exploitation, et si vos données ne sont pas sensibles, une API commerciale vous fera gagner du temps pour moins cher. Le self-hosting impose un coût caché : quelqu’un doit administrer le serveur, surveiller le GPU, mettre à jour les modèles. Choisissez-le quand au moins un de ces trois critères pèse vraiment — souveraineté des données, volume élevé, ou indépendance stratégique. Sinon, gardez-le en tête pour plus tard et démarrez simple.

Erreurs fréquentes à éviter

Erreur Conséquence Parade
Choisir Ollama pour un service multi-utilisateurs File d’attente, lenteur sous charge Basculer le moteur sur vLLM
Brancher chaque app directement sur le moteur Enfermement, migration douloureuse Passer par LiteLLM (API unique)
Exposer le moteur d’inférence à Internet Minage de ressources, fuite Moteur en interne, proxy + auth devant
Sous-dimensionner la VRAM Modèle qui ne charge pas / très lent Choisir une quantification adaptée au GPU
Aucune journalisation Coût et usage invisibles Logger via LiteLLM

FAQ

Ai-je vraiment besoin de LiteLLM si je n’ai qu’un modèle ?
Pas immédiatement — mais l’ajouter tôt vous évite de réécrire vos clients le jour où vous ajoutez un deuxième modèle ou un fournisseur de secours. C’est une assurance peu coûteuse.

Puis-je tout faire sans GPU ?
Oui, avec Ollama et des modèles quantifiés, sur CPU — au prix de la vitesse. Pour un usage personnel ou un prototype, c’est suffisant ; pour un service partagé, un GPU et vLLM deviennent nécessaires.

OpenWebUI peut-il parler à vLLM ?
Oui. OpenWebUI accepte n’importe quel endpoint compatible OpenAI : Ollama, vLLM, ou votre proxy LiteLLM. C’est tout l’intérêt de son agnosticisme.

Le code envoyé à Continue.dev sort-il de ma machine ?
Non, si vous le pointez vers un modèle local (Ollama/LiteLLM). C’est précisément ce qui distingue cette approche des assistants cloud.

Combien de VRAM pour un usage confortable ?
Pour un modèle moyen quantifié en 4 bits, comptez une carte de 16 à 24 Go de VRAM pour de bonnes performances. En dessous, restez sur de plus petits modèles ; au-delà, vous visez les gros modèles ou le multi-utilisateurs avec vLLM.

Self-hosté veut-il dire couper Internet ?
Non : la stack fonctionne hors-ligne pour l’inférence, mais vous gardez la main pour télécharger des modèles ou, via LiteLLM, router certaines requêtes vers une API distante en complément. Self-hosté ne veut pas dire isolé — il veut dire vous décidez.

Plusieurs modèles sur un même serveur, est-ce possible ?
Oui. Ollama charge et décharge les modèles à la demande ; vLLM en sert un par instance, mais LiteLLM peut router vers plusieurs instances. C’est tout l’intérêt du proxy : présenter un catalogue de modèles derrière une seule porte.

Mini-glossaire

  • Inférence : le fait pour un modèle de produire une réponse à partir d’un prompt.
  • VRAM : la mémoire de la carte graphique ; elle détermine la taille de modèle chargeable.
  • Quantification : compression des poids (4/5/8 bits) pour réduire la VRAM nécessaire.
  • Token : l’unité de texte traitée et facturée par un LLM (un mot vaut souvent un à trois tokens).
  • RAG : technique pour faire répondre le modèle à partir de vos propres documents.
  • Embedding : représentation vectorielle d’un texte, base de la recherche sémantique du RAG.

Pour aller plus loin

Commencez par le moteur le plus simple : Ollama : modèles quantifiés et fine-tuning local, puis ajoutez la couche proxy avec LiteLLM. Et si vous cherchez plutôt à consommer une API d’IA dans votre app, voyez Intégrer un LLM dans votre application.

Documentation officielle (sources primaires) :

Faut-il un système d’exploitation particulier ?
Linux est le terrain naturel de cette stack (pilotes GPU, Docker, performances). Tout tourne très bien sur un serveur Ubuntu ou Debian récent ; sous Windows, passez par WSL2 ou un conteneur. Pour un poste de test, macOS convient aussi avec Ollama.

Mots-clés : LLM self-hosted, héberger LLM local, Ollama vs vLLM, LiteLLM proxy, OpenWebUI, souveraineté données IA, inférence GPU.

Malick Diallo

Rédaction SenTur

Contributeur SenTur — passionné de tech et de transmission.

Aucun commentaire pour l'instant — lancez la discussion !

Laisser un commentaire

Votre adresse email ne sera pas publiée. La discussion est modérée — restez courtois et constructif.