Étude de cas · Client d’entreprise confidentiel (secteur réglementé)

Déploiement privé de LLM sur l'appareil pour une entreprise sensible à la confidentialité (Ollama + llama.cpp)

Comment nous avons remplacé une facture OpenAI de 4,2 k$/mois par un workflow LLM entièrement sur l’appareil avec Ollama, llama.cpp et une couche d’orchestration FastAPI — en conservant 100 % des données clients sur l’ordinateur portable de l’utilisateur tout en offrant des réponses en moins d’une seconde.

  • SecteurEntreprise / Santé
  • Année2025
  • PaysCanada
  • Durée3 mois
Private, On-Device LLM Deployment for a Privacy-Sensitive Enterprise (Ollama + llama.cpp) hero screenshot

Résultats en un coup d'œil

  • 100%Inférence sur l'appareil : aucune donnée client ne quitte l'ordinateur portable
  • $4.2K/moDépenses OpenAI éliminées, remplacées par un coût d'inférence marginal de 0 $
  • <800msLatence p95 du premier token sur MacBook M2 pour le modèle de chat
  • 1erLe dossier a passé la revue de sécurité du client

Le défi

Une entreprise cliente d’un secteur réglementé utilisait un LLM hébergé via ses outils internes, mais chaque trimestre son équipe de revue de sécurité signalait le même point bloquant : du texte permettant d’identifier des clients était envoyé vers un point de terminaison cloud américain. Le service juridique avait suspendu le déploiement élargi, la facture OpenAI avait dépassé 4 200 $/mois avec seulement une fraction de la base d’utilisateurs prévue, et l’équipe produit s’était vu poser la question impossible : « peut-on conserver toute cette capacité d’IA sans qu’aucune donnée ne quitte l’ordinateur portable de l’utilisateur ? »

Ils n’avaient pas besoin d’un projet de recherche. Ils avaient besoin d’un workflow livrable qu’un employé interne pouvait installer en un après-midi, qui fonctionnait entièrement sur leurs MacBook série M et ThinkPad Windows existants, et dont les performances étaient assez bonnes pour que personne ne regrette l’amélioration de la confidentialité.

Notre solution

Nous avons conçu et livré une pile LLM entièrement sur l’appareil : Ollama comme moteur d’exécution des modèles, llama.cpp en coulisses pour l’inférence quantifiée GPU/CPU, une petite couche d’orchestration FastAPI pour l’utilisation d’outils et la récupération, et une interface de bureau Next.js livrée via une fine enveloppe Tauri. Chaque octet de contexte reste sur l’appareil. Pas d’inférence distante, pas de rappel de télémétrie, pas de proxy.

Nous avons évalué sept modèles à poids ouverts (Llama 3.1 8B, Qwen 2.5 7B/14B, Phi-3, Mistral et deux variantes spécialisées par domaine) sur les prompts réels du client et livré un routeur de modèles par tâche : un petit modèle rapide pour la classification et le chat, un modèle de raisonnement plus grand à la demande. Le RAG s’exécute sur un index ChromaDB local construit à partir des propres documents de l’utilisateur, chaque embedding étant calculé sur l’appareil.

Le résultat est un workflow mesurablement plus rapide que la version cloud sur le prompt médian (sans aller-retour réseau), qui réussit la revue de sécurité du client dès la première soumission et qui s’étend à chaque ordinateur portable de l’entreprise pour un coût d’inférence nul par poste.

  • Moteur Ollama avec routeur de modèles par tâche (petit pour le chat, grand pour le raisonnement)
  • Inférence quantifiée via llama.cpp optimisée pour Apple Silicon et les CPU Intel/AMD modernes
  • RAG local sur les propres fichiers de l’utilisateur avec ChromaDB et des embeddings sur l’appareil
  • Couche d’orchestration FastAPI avec API HTTP stable pour l’interface de bureau Next.js / Tauri
  • Liste d’autorisation réseau vérifiable — aucun trafic LLM ne quitte jamais l’appareil
  • Banc d’évaluation intégré : chaque mise à niveau de modèle est notée avant le déploiement
  • Installateurs signés et notarisés pour macOS (M1/M2/M3) et Windows
  • Panneau de confidentialité dans l’application montrant exactement ce que le modèle peut lire
  • Canal optionnel de mise à jour des modèles respectant le proxy d’entreprise et la politique réseau

Comment nous l'avons construit

  1. 01

    Découverte : audit des prompts et référence d'appareil

    Nous avons collecté un ensemble représentatif d'environ 400 vrais prompts à partir des journaux OpenAI existants (anonymisés), puis comparé des modèles open-weight candidats sur le parc matériel réel du client (MacBook M1, M2 et M3, plus une machine de référence Windows ThinkPad), en mesurant les tokens par seconde, la latence p95 du premier token et la qualité par rapport à la référence GPT-4 à l'aide d'une grille d'évaluation détenue par le client.

  2. 02

    Architecture : routeur de modèles + RAG local

    Nous avons choisi Ollama comme runtime (cycle de vie propre, gestion des versions de modèles, quantification adaptée au GPU), puis construit une fine couche d’orchestration FastAPI qui oriente chaque tâche vers le bon modèle, gère la recherche dans un index ChromaDB local et expose une API HTTP stable que l’interface de bureau peut appeler. L’ensemble s’exécute sous la forme de trois processus locaux gérés par l’application de bureau.

  3. 03

    Développement : UX de bureau, ingestion RAG, évaluations

    Le développement s'est déroulé en sprints de deux semaines avec un véritable banc d'évaluation : chaque modification était notée sur un jeu de prompts réservé, de sorte que les régressions de qualité apparaissaient immédiatement. Nous avons ajouté un flux d'ingestion en un clic pour les propres documents de l'utilisateur, un canal de mise à jour du modèle qui respecte la politique réseau de l'utilisateur et un panneau de confidentialité qui montre exactement à quoi le modèle a accès.

  4. 04

    Revue de sécurité, packaging, déploiement

    Nous avons packagé la pile sous forme d'installateur signé (notarisé sur macOS, signé sur Windows), rédigé un court modèle de menaces que l'équipe sécurité pouvait lire en 20 minutes, et déployé auprès de 25 utilisateurs pilotes avant le déploiement à l'échelle de l'entreprise. La revue de sécurité a été validée dès la première soumission ; la fonctionnalité décisive était une liste d'autorisation réseau vérifiable qui prouve qu'aucun trafic LLM ne quitte jamais l'appareil.

Stack technique

  • Ollama
  • llama.cpp
  • Llama 3.1
  • Qwen 2.5
  • LangChain
  • Python
  • FastAPI
  • Next.js
  • SQLite
  • ChromaDB
  • Développement d'agents IA
  • Développement IA et ML
  • Python et FastAPI
  • Cybersécurité
“Nous pensions que l'IA privée signifiait un produit moins bon. La solution conçue par UnlockLive est plus rapide que la version cloud pour la plupart de ce que fait notre équipe, et notre revue de sécurité a pris 20 minutes au lieu de trois mois.”
Directeur produit · Client entreprise (nom confidentiel)

Questions fréquentes

Un LLM local peut-il vraiment remplacer GPT-4 dans des workflows de production ?

Pour la plupart des tâches d'entreprise (classification, synthèse, RAG sur les documents de l'utilisateur, extraction structurée), oui : un modèle open-weight bien choisi, de 7B à 14B, égale ou dépasse GPT-3.5 et se situe à 10-15 % de GPT-4 en qualité. L'astuce est une évaluation honnête : nous notons toujours les modèles candidats sur les vrais prompts du client, pas sur des benchmarks génériques.

Quels modèles open-weight recommandez-vous pour un déploiement sur appareil en 2025 ?

Nous retenons par défaut Llama 3.1 8B pour le chat généraliste et Qwen 2.5 14B pour les tâches de raisonnement intensif, avec Phi-3 mini pour la classification ultra-rapide. Le choix final dépend du matériel de l'utilisateur (les Mac M2/M3 gèrent confortablement le 14B ; les anciens portables Intel s'en sortent mieux avec du 7B quantifié) et du mix de charges de travail.

Ollama est-il prêt pour la production dans un secteur réglementé ?

Ollama lui-même dispose d'une licence permissive, d'un cycle de vie des modèles stable, d'une quantification adaptée au GPU et d'une API HTTP propre. Nous l'associons à une fine couche d'orchestration FastAPI que nous maîtrisons, à un installateur signé et notarisé, et à une liste d'autorisation réseau vérifiable : cette combinaison a passé plusieurs revues de sécurité en entreprise dès la première soumission.

Comment maintenez-vous une qualité de modèle élevée alors que vous ne pouvez pas mettre à jour les modèles à chaque appel d’API ?

Nous livrons avec le déploiement un banc d’évaluation par tenant. Chaque mise à niveau de modèle est notée sur un jeu de prompts réservé dont le client est propriétaire, et n’est promue que si elle atteint un seuil de qualité. Les mises à jour de modèles sont déployées via un canal canari que l’utilisateur contrôle.

Que coûte un déploiement LLM privé par rapport à la poursuite de l’utilisation d’OpenAI / Anthropic ?

Le seuil de rentabilité se situe généralement entre 6 et 9 mois. Le développement est un coût d’ingénierie unique (8 à 14 semaines pour un flux de travail ciblé), après quoi le coût d’inférence par utilisateur tombe à zéro. Les API hébergées l’emportent pour les usages irréguliers et à faible volume ; le traitement sur l’appareil l’emporte pour les outils d’entreprise utilisés quotidiennement.

Envie d'un résultat comme celui-ci ?

Parlez à l'équipe qui a construit Déploiement privé de LLM sur l'appareil pour une entreprise sensible à la confidentialité (Ollama + llama.cpp). Nous définirons le périmètre de votre projet, vous remettrons une proposition à prix fixe et vous présenterons l'exemple le plus proche de notre portfolio.

Réserver un appel stratégique