Solution française • Hébergement souverain • Conformité européenne Solutions MSP Blog IA souveraine

RAG souverain vs RAG cloud : comparatif architecture, sécurité et coût

Le RAG (Retrieval-Augmented Generation) est devenu l'architecture de référence pour permettre à un LLM d'interroger vos données internes. Mais entre un RAG cloud qui envoie vos documents à des serveurs américains et un RAG souverain déployé sur votre infrastructure, le choix n'est pas anodin. Ce guide compare les deux approches sur tous les critères qui comptent pour une entreprise française : sécurité, conformité, performance, coût et capacité à migrer.

RAG souverain vs RAG cloud : comparatif architecture, sécurité et coût

Ce qu'il faut retenir

  • Le RAG cloud envoie vos documents (ou leurs chunks) à des APIs tierces pour l'embedding et la génération — vos données quittent votre périmètre à chaque requête.
  • Le RAG souverain (on-premise) garde la totalité du pipeline sur votre infrastructure : embedding, base vectorielle, LLM d'inférence.
  • Pour les données classifiées, couvertes par le secret professionnel ou soumises au RGPD avec risque élevé, le RAG souverain est la seule option conforme.
  • La performance du RAG souverain a rattrapé le RAG cloud pour la plupart des cas d'usage métier, grâce à des modèles open source comme Mistral, Llama 3 et Qwen.
  • La migration d'un RAG cloud vers on-premise est techniquement réalisable en 4-8 semaines selon la complexité du pipeline existant.

Rappel : qu'est-ce que le RAG et comment ça fonctionne ?

Le Retrieval-Augmented Generation est une architecture qui améliore les LLM en leur donnant accès à une base de connaissances externe au moment de la génération. Plutôt que de s'appuyer uniquement sur ce qui a été appris lors de l'entraînement, le LLM récupère des documents pertinents en temps réel et les intègre dans son contexte avant de répondre.

Les 4 étapes d'un pipeline RAG

  1. Indexation : Les documents sources (PDFs, Word, emails, pages web internes…) sont découpés en chunks, convertis en vecteurs numériques (embeddings) par un modèle d'embedding, puis stockés dans une base de données vectorielle.
  2. Récupération (Retrieval) : Quand l'utilisateur pose une question, celle-ci est également convertie en vecteur. La base vectorielle retourne les N chunks les plus similaires (recherche par similarité cosinus ou produit scalaire).
  3. Augmentation (Augmentation) : Les chunks récupérés sont injectés dans le prompt du LLM, sous forme de contexte supplémentaire.
  4. Génération (Generation) : Le LLM génère sa réponse en s'appuyant à la fois sur ses connaissances intrinsèques et sur le contexte fourni.

L'avantage clé du RAG sur le fine-tuning est la mise à jour en temps réel : ajouter un nouveau document à la base vectorielle le rend immédiatement accessible, sans réentraîner le modèle. C'est pour cette raison que le RAG est privilégié pour les bases de connaissances d'entreprise qui évoluent fréquemment.

Enjeux de souveraineté dans le RAG

Un RAG cloud classique (ex. : Azure OpenAI + Azure Cognitive Search) implique que deux types de données quittent votre infrastructure à chaque requête :

  • Les chunks de documents envoyés au service d'embedding (ex. : text-embedding-ada-002 d'OpenAI) lors de l'indexation
  • Le contexte augmenté (chunks + question de l'utilisateur) envoyé au LLM pour la génération

Même si le fournisseur cloud garantit ne pas utiliser vos données pour entraîner ses modèles (ce que font Azure OpenAI et AWS Bedrock dans leurs conditions entreprise), vos documents transitent par leurs serveurs, sont traités sur leurs GPU, et peuvent être soumis à des lois extra-européennes comme le Cloud Act américain.

Cloud Act : la menace invisible

Le CLOUD Act (2018) permet aux autorités américaines d'exiger l'accès aux données hébergées par des sociétés américaines, y compris sur des serveurs situés en Europe. Azure, AWS, Google Cloud et OpenAI sont tous concernés — même leurs datacenters français ou allemands. Vos documents envoyés pour embedding ou génération sont potentiellement accessibles.

Catégories de données à risque dans un RAG

Catégorie de donnéesExemples concretsRisque RAG cloudApproche recommandée
Données personnelles sensibles (RGPD Art. 9)Dossiers RH, données santé, opinions syndicalesTrès élevéRAG souverain obligatoire
Secret des affairesBrevets, roadmaps, prix, contrats clientsÉlevéRAG souverain fortement recommandé
Secret professionnelDonnées cabinets avocats, médecins, experts-comptablesTrès élevéRAG souverain obligatoire
Données financières réglementéesInformations privilégiées (AMF), données DORAÉlevéRAG souverain ou cloud certifié HDS/SecNumCloud
Données internes non confidentiellesProcédures internes, FAQ RH générique, documentation produitFaibleRAG cloud acceptable avec DPA conforme
Données publiquesDocumentation technique publique, contenus webNulRAG cloud sans contrainte

Architecture RAG souveraine : les composants

Un RAG souverain complet peut être déployé sur votre infrastructure avec des composants 100 % open source. Voici l'architecture de référence.

Schéma de l'architecture RAG souveraine

┌─────────────────────────────────────────────────────────────┐
│                    INFRASTRUCTURE ON-PREMISE                │
│                                                             │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐  │
│  │   Sources    │    │  Ingestion   │    │  Embedding   │  │
│  │  Documents   │───▶│  Pipeline    │───▶│   Model      │  │
│  │ (PDF,DOCX,   │    │(LangChain /  │    │(nomic-embed/ │  │
│  │  emails...)  │    │ LlamaIndex)  │    │ multilingual │  │
│  └──────────────┘    └──────────────┘    │  -e5-large)  │  │
│                                          └──────┬───────┘  │
│                                                 │ vecteurs  │
│                                          ┌──────▼───────┐  │
│                                          │  Base        │  │
│  ┌──────────────┐    ┌──────────────┐    │  Vectorielle │  │
│  │  Interface   │    │    LLM       │    │(Qdrant /     │  │
│  │  Utilisateur │───▶│ d'inférence  │    │ ChromaDB /   │  │
│  │ (Open WebUI/ │    │  (Ollama /   │◀───│ Weaviate)    │  │
│  │  custom app) │    │  vLLM)       │    └──────────────┘  │
│  └──────────────┘    └──────────────┘                      │
│                                                             │
│  Modèles : Mistral 7B/24B, Llama 3.1 8B/70B, Qwen2.5      │
└─────────────────────────────────────────────────────────────┘

Stack technologique recommandée

ComposantOption 1 (légère)Option 2 (production)Critère de choix
Orchestrateur LLMOllamavLLMOllama : simplicité. vLLM : throughput élevé, GPU optimisé.
Framework RAGLlamaIndexLangChain + LangSmithLlamaIndex : RAG natif. LangChain : écosystème plus large.
Base vectorielleChromaDBQdrantChromaDB : prototype rapide. Qdrant : production, filtrage avancé.
Modèle d'embeddingnomic-embed-textmultilingual-e5-largenomic : anglais. multilingual-e5 : multilingue, meilleur pour FR.
Modèle LLMMistral 7B InstructMistral-Large ou Llama 3.1 70B7B : CPU/GPU modeste. 70B : GPU serveur (2x A100).
Interface utilisateurOpen WebUIApplication customOpen WebUI : déploiement rapide. Custom : intégration métier.

Exemple de configuration Ollama + Qdrant (Docker Compose)

# docker-compose.yml — Stack RAG souveraine
version: '3.8'

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    volumes:
      - ollama_data:/root/.ollama
    ports:
      - "127.0.0.1:11434:11434"  # Jamais exposé publiquement
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    restart: unless-stopped

  qdrant:
    image: qdrant/qdrant:latest
    container_name: qdrant
    volumes:
      - qdrant_data:/qdrant/storage
    ports:
      - "127.0.0.1:6333:6333"   # Accès local uniquement
    environment:
      - QDRANT__SERVICE__API_KEY=${QDRANT_API_KEY}
    restart: unless-stopped

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    volumes:
      - open_webui_data:/app/backend/data
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - WEBUI_SECRET_KEY=${WEBUI_SECRET_KEY}
      - ENABLE_SIGNUP=false  # Désactiver l'inscription libre
    depends_on:
      - ollama
    restart: unless-stopped

volumes:
  ollama_data:
  qdrant_data:
  open_webui_data:

Choix de la base vectorielle

La base vectorielle est le cœur du système RAG. Son choix impacte les performances, la scalabilité et les fonctionnalités de filtrage disponibles.

CritèreChromaDBQdrantWeaviatepgvector
LicenceApache 2.0Apache 2.0BSD-3PostgreSQL
DéploiementEmbarqué ou serveurDocker/K8s natifDocker/K8sExtension PostgreSQL
Performances (1M vecteurs)CorrectesExcellentesTrès bonnesBonnes
Filtrage métadonnéesBasiqueAvancé (payloads JSON)GraphQL puissantSQL natif
Permissions par documentManuelFiltres natifsVia GraphQLRow-level security PostgreSQL
Maturité productionPrototype / devProduction readyProduction readyProduction (si PG maîtrisé)
MultitenancyCollections séparéesCollections + namespacesClasses + tenantsSchémas / RLS
Cas d'usage idéalPOC, équipe devProduction IA entrepriseUse cases graphe/ontologieDonnées déjà dans PostgreSQL

Notre recommandation : Utilisez ChromaDB pour les phases de prototypage (démarrage en 5 minutes, aucune infrastructure), et migrez vers Qdrant pour la production. Qdrant offre le meilleur rapport performances/simplicité pour un RAG d'entreprise.

Architecture RAG cloud : les offres des hyperscalers

Azure OpenAI + Azure AI Search

La solution la plus répandue en France grâce aux datacenters français d'Azure (France Central, France South). Elle combine :

  • Azure OpenAI Service : accès aux modèles GPT-4o, GPT-4 Turbo et text-embedding-3 via des endpoints dédiés
  • Azure AI Search (ex-Cognitive Search) : moteur de recherche vectorielle managé avec filtres, semantic ranking et hybrid search
  • Azure Blob Storage : stockage des documents sources
  • Azure AI Document Intelligence : extraction de texte depuis PDFs et images

AWS Bedrock + Amazon Kendra

L'alternative AWS, plus récente en adoption française :

  • Amazon Bedrock : accès aux modèles Anthropic Claude, Llama 3, Mistral et Amazon Titan
  • Amazon Kendra : moteur de recherche documentaire avec compréhension sémantique
  • Amazon Bedrock Knowledge Bases : solution RAG managée complète (ingestion, embedding, retrieval)

Google Vertex AI Search

  • Vertex AI : plateforme ML avec Gemini Pro, PaLM 2 et modèles d'embedding Google
  • Vertex AI Search (ex-Enterprise Search) : moteur de recherche vectorielle + BM25 hybride
  • Document AI : extraction de contenu structuré depuis documents

Comparatif performances et coûts

Performances : RAG souverain vs RAG cloud

MétriqueRAG souverain (Qdrant + Mistral-Large)RAG cloud (Azure OpenAI + AI Search)
Latence P50 (requête simple)1,2 — 2,5 s0,8 — 1,8 s
Latence P99 (requête complexe)4 — 8 s3 — 6 s
Throughput (req/min, 4 GPU A100)120 — 180 req/minLimité par quotas (600 req/min par défaut)
Qualité des réponses (FR, éval RAGAS)0,78 — 0,850,82 — 0,90
DisponibilitéDépend de votre infra99,9 % SLA
ScalabilitéManuelle (ajout GPU/nœuds)Automatique (scale out managé)

Coûts : modèle de calcul comparatif

Pour une entreprise de 200 utilisateurs actifs générant 500 requêtes/jour en moyenne :

Poste de coûtRAG souverain (on-premise)Azure OpenAI + AI Search
Embedding (indexation initiale, 1M tokens)0 € (modèle local)~20 € (text-embedding-3-small)
Embedding (requêtes, /mois)0 €~150 € (500 req/j × 30j × 1k tokens avg)
Génération LLM (/mois)0 € (modèle local)~2 400 € (GPT-4o, 500 req/j × 3k tokens)
Base vectorielle (/mois)0 € (Qdrant open source)~300 € (Azure AI Search S1)
Infrastructure matérielle2 000 €/mois (amortissement 2× A100 PCIe)0 € (managé)
Ops et maintenance (/mois)~800 € (0,5 ETP DevOps)~200 € (moindre maintenance)
Total mensuel~2 800 €~3 070 €

Au-delà de 150-200 utilisateurs actifs, le RAG souverain devient compétitif — et les GPU s'amortissent sur 4-5 ans. L'avantage coût du cloud disparaît rapidement avec le volume.

Sécurité et confidentialité des données

Ce que le RAG cloud fait voyager hors de votre périmètre

  1. À l'indexation : Le texte extrait de vos documents (ou leurs chunks) est envoyé à l'API d'embedding du cloud. Pour 1 000 documents de 50 pages, cela représente des dizaines de millions de tokens de vos données les plus sensibles qui transitent vers des serveurs tiers.
  2. À chaque requête : Les chunks récupérés (passages de vos documents) + la question de l'utilisateur sont envoyés au LLM cloud. Toute requête sur des données confidentielles implique leur transmission vers l'extérieur.
  3. Les métadonnées : Noms de fichiers, chemins, auteurs, dates — informations qui peuvent révéler votre organisation interne.

Ce que garantissent (et ne garantissent pas) les clouds

GarantieAzure OpenAI EnterpriseAWS BedrockRAG souverain
Pas d'utilisation pour entraînementOui (contractuel)Oui (contractuel)Natif — données ne quittent pas l'infra
Chiffrement en transitTLS 1.3TLS 1.3TLS 1.3 (à configurer)
Chiffrement au reposAES-256AES-256AES-256 (à configurer)
Localisation données (France)Oui (France Central)Non (Paris en dev)Totale
Immunité Cloud ActNonNonOui
Audit indépendant de l'accèsNon (logs Azure seulement)NonOui (vous contrôlez)
Conformité SecNumCloudNonNonPossible

Migration d'un RAG cloud vers on-premise

La migration d'un RAG cloud existant vers une architecture souveraine est techniquement réalisable. Voici la méthode en 5 étapes.

Étape 1 — Audit de l'existant (semaine 1)

  • Inventorier toutes les sources de documents indexées
  • Identifier le modèle d'embedding utilisé (importante pour choisir le remplaçant)
  • Mesurer les métriques de performance actuelles (latence, qualité des réponses)
  • Identifier les intégrations (applications qui consomment l'API RAG)

Étape 2 — Setup de l'infrastructure (semaines 1-2)

# Installation Ollama + téléchargement des modèles
curl -fsSL https://ollama.ai/install.sh | sh

# Modèle de génération
ollama pull mistral-large:latest
# ou
ollama pull llama3.1:70b

# Modèle d'embedding (multilingue, meilleur pour le français)
ollama pull nomic-embed-text

# Démarrer Qdrant
docker run -d --name qdrant \
  -p 127.0.0.1:6333:6333 \
  -v $(pwd)/qdrant_storage:/qdrant/storage \
  -e QDRANT__SERVICE__API_KEY=$QDRANT_API_KEY \
  qdrant/qdrant:latest

Étape 3 — Ré-indexation des documents (semaines 2-3)

Les embeddings ne sont pas transférables entre modèles différents — vous devez ré-indexer l'ensemble de vos documents avec le nouveau modèle d'embedding local. Exemple de script Python :

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.vector_stores.qdrant import QdrantVectorStore
from llama_index.embeddings.ollama import OllamaEmbedding
from llama_index.llms.ollama import Ollama
import qdrant_client

# Configuration 100% locale
client = qdrant_client.QdrantClient(url="http://localhost:6333",
                                     api_key="votre_api_key")

embed_model = OllamaEmbedding(
    model_name="nomic-embed-text",
    base_url="http://localhost:11434"
)

llm = Ollama(
    model="mistral-large",
    base_url="http://localhost:11434",
    request_timeout=120.0
)

vector_store = QdrantVectorStore(client=client,
                                  collection_name="documents_entreprise")

# Indexation des documents
from llama_index.core import Settings, StorageContext
Settings.embed_model = embed_model
Settings.llm = llm

documents = SimpleDirectoryReader("/path/to/docs").load_data()
storage_context = StorageContext.from_defaults(vector_store=vector_store)
index = VectorStoreIndex.from_documents(documents,
                                         storage_context=storage_context)

print(f"Index créé : {len(documents)} documents indexés")

Étape 4 — Tests et validation (semaine 3-4)

  • Constituer un jeu de questions de référence (golden dataset) avec les réponses attendues
  • Mesurer les métriques RAGAS (faithfulness, answer relevancy, context precision)
  • Comparer avec les performances du RAG cloud sur les mêmes questions
  • Tester les cas limites : questions hors périmètre, documents mal formatés, langues mixtes

Étape 5 — Basculement et décommission (semaines 5-8)

  • Migration progressive du trafic (10% → 50% → 100%)
  • Monitoring comparatif en parallèle pendant 2 semaines
  • Décommission de l'infrastructure cloud (supprimer les index Azure AI Search, désactiver les endpoints OpenAI)
  • Vérification que les données ne sont plus accessibles côté cloud (suppression des données résiduelles)

Cas d'usage par secteur

Secteur juridique — Recherche documentaire confidentielle

Un cabinet d'avocats indexe ses dossiers, contrats et jurisprudences dans un RAG souverain. Le secret professionnel interdit absolument l'utilisation d'un RAG cloud : les extraits de dossiers envoyés pour embedding constitueraient une violation du secret. Stack recommandée : Qdrant + Mistral 7B Instruct (latence faible pour recherche rapide) + interface personnalisée avec authentification par dossier.

Secteur santé — Aide à la décision médicale

Un hôpital déploie un assistant IA qui interroge les protocoles de soins internes et la littérature médicale. Les données de santé sont des données sensibles RGPD Article 9 — hébergement HDS obligatoire. Un RAG souverain déployé sur l'infrastructure HDS existante est la seule option conforme. Stack : vLLM + Qdrant + Llama 3.1 70B (meilleures performances médicales).

Secteur industriel — Documentation technique et maintenance

Un manufacturier indexe ses manuels de maintenance, schémas d'équipements et historiques d'interventions. Les données techniques représentent le savoir-faire de l'entreprise. Un RAG souverain sur le réseau OT/IT de l'usine permet un accès sans connexion Internet — critical pour les environnements industriels. Stack : Ollama + ChromaDB (volume modéré) + Open WebUI pour les techniciens.

Recommandations : quel RAG choisir ?

SituationRecommandationRaison
POC / exploration < 3 moisRAG cloudRapidité de mise en place, pas d'infrastructure à gérer
Données publiques ou peu sensiblesRAG cloud acceptableRatio coût/bénéfice favorable si volume modéré
Données personnelles sensibles (Art. 9 RGPD)RAG souverain obligatoireConformité réglementaire non négociable
Secret professionnel (avocat, médecin, expert-comptable)RAG souverain obligatoireObligation déontologique
Secret des affaires, brevets, R&DRAG souverain fortement recommandéRisque espionnage industriel via Cloud Act
> 150 utilisateurs actifsRAG souverainCoût inférieur au cloud à partir de ce seuil
Environnement sans connexion Internet (OT, défense)RAG souverain uniquementContrainte physique

Concevoir votre RAG souverain

Nous accompagnons les entreprises dans la conception et le déploiement de leur RAG on-premise : choix du stack technique, indexation des documents, intégration métier et formation des équipes.

Discuter de votre projet RAG →

Intelligence Privée

Expert en IA souveraine pour entreprises françaises. LLM hébergés en France, conformité RGPD/NIS2/EU AI Act, fine-tuning sur données métier.

Recevoir ce guide en PDF

Téléchargez « RAG souverain vs RAG cloud : comparatif architecture, sécuri… » + la checklist pratique associée, directement dans votre boîte mail.