Donnez à votre LLM accès à vos données sans fine-tuning. Le RAG comble le fossé entre les modèles de langage à usage général et les connaissances spécifiques à un domaine.

Vous souhaitez créer un assistant AI qui répond aux questions concernant les documents de votre organisation — contrats, politiques, bases de connaissances, documentation produit, dossiers médicaux. Le fine-tuning d'un LLM sur vos données est coûteux, lent et crée un modèle figé au moment de l'entraînement. Vous avez besoin d'une architecture où le LLM peut accéder à des informations à jour et spécifiques à un domaine au moment de la requête, citer ses sources et éviter d'halluciner des faits qui ne figurent pas dans vos documents. Le RAG (Retrieval-Augmented Generation) est la solution pour y parvenir.
Explore more design patterns and system architectures
Nos architectes peuvent vous aider à concevoir et construire des systèmes utilisant ce modèle pour vos besoins spécifiques.
Contactez-nousLe RAG augmente la génération du LLM avec un contexte récupéré à partir d'une base de connaissances. Au moment de la requête, le système convertit la question de l'utilisateur en un embedding, recherche dans une vector database des chunks de documents sémantiquement similaires, et inclut les chunks les plus pertinents comme contexte dans le prompt du LLM. Cela ancre la réponse du modèle dans des documents réels, permet la citation des sources et maintient la base de connaissances à jour sans réentraînement. Un pipeline RAG de production gère l'ingestion (parsing, chunking, embedding), la récupération (vector search, reranking, hybrid search) et la génération (prompt construction, streaming, guardrails).
L'architecture comporte deux pipelines. Le pipeline d'ingestion traite les documents par parsing (extraction PDF, DOCX, HTML), chunking (sémantique ou taille fixe avec chevauchement), embedding (via un modèle d'embedding) et stockage (vector database + document store). Le pipeline de requête prend une question d'utilisateur, génère un query embedding, récupère les chunks candidats de la vector database, les reranke pour la pertinence, construit un prompt avec les meilleurs chunks comme contexte, et streame la réponse du LLM avec des citations de source.
text-embedding-3-large, Cohere embed-v4, ou des alternatives open-source (BGE, E5). Traitement par lots pour l'ingestion, traitement de requête unique pour la recherche
System Architecture Overview
| Couche | Technologies |
|---|---|
| Parsing de Documents | Unstructured, Apache Tika, LlamaParse, Docling, OCR personnalisé (Tesseract, AWS Textract) |
| Embedding | OpenAI text-embedding-3-large, Cohere embed-v4, BGE-M3, E5-large-v2 |
| Vector Database | Milvus, Pinecone, Qdrant, Weaviate, pgvector (pour petite échelle) |
| Recherche par Mots-Clés | Elasticsearch, OpenSearch, PostgreSQL full-text search |
| Reranking | Cohere Rerank, BGE Reranker, ColBERT v2, FlashRank |
| LLM | Claude (via AI Gateway), GPT-4, Gemini — indépendant du fournisseur via AI SDK |
| Orchestration | LangChain, LlamaIndex, ou pipeline personnalisé (préférence MW pour la production) |
| Utiliser quand | Éviter quand |
|---|---|
| Les utilisateurs ont besoin de réponses basées sur les documents spécifiques de votre organisation | La base de connaissances est < 50 pages — insérez-la simplement dans le system prompt |
| Les documents sont mis à jour fréquemment et l'AI a besoin d'informations actuelles | Vous avez besoin que le modèle apprenne une nouvelle compétence/un nouveau comportement, pas qu'il accède à de nouveaux faits (utilisez le fine-tuning à la place) |
| La citation des sources et l'auditabilité sont des exigences (juridique, conformité, santé) | Les questions sont purement conversationnelles et ne nécessitent pas d'ancrage factuel |
| Plusieurs groupes d'utilisateurs ont besoin d'accéder à différents sous-ensembles de documents (RAG filtré par permissions) | Vous construisez un outil d'écriture créative où la précision factuelle n'est pas l'objectif |
MW construit des pipelines RAG en partant de la qualité de la récupération — nous évaluons la précision de la récupération avant de toucher au prompt du LLM. Un système RAG avec une récupération médiocre et un excellent LLM produit des réponses erronées mais qui semblent fiables. Notre pipeline standard inclut un harnais d'évaluation de la récupération : un ensemble de requêtes test avec des documents connus comme pertinents, mesuré par MRR@5 et NDCG@10. Nous itérons sur le chunking, le modèle d'embedding et le reranking jusqu'à ce que les métriques de récupération atteignent les seuils cibles avant d'optimiser la génération. Nous avons construit des systèmes RAG pour l'examen de documents juridiques, les bases de connaissances en santé et le support client multilingue — et la leçon commune est que la qualité de la récupération représente 80 % de la qualité des réponses.
La recherche d'embeddings est facile avec 10K vecteurs. À 100M vecteurs avec un P99 inférieur à 100 ms, c'est un problème d'infrastructure — et c'est ce que ce modèle résout.
MicrocosmWorks met en œuvre la résolution des conflits dans les pipelines RAG via le classement par autorité de la source, la pondération par la récence basée sur l'horodatage, et la notation de confiance qui évalue la force avec laquelle chaque passage récupéré soutient son affirmation. Lorsque des passages contradictoires sont récupérés, notre pipeline présente la réponse ayant la plus haute autorité tout en révélant de manière transparente le désaccord et les citations des sources afin que les utilisateurs puissent prendre des décisions éclairées. Nous mettons également en place des boucles de rétroaction où les experts du domaine peuvent signaler les résolutions incorrectes, ce qui améliore le classement de récupération au fil du temps.
MicrocosmWorks utilise du content-aware chunking qui applique différentes stratégies basées sur la structure du document — du semantic paragraph splitting pour la prose, du row-level ou section-level chunking pour les tableaux avec le header context préservé, et du function-level chunking pour le code avec les import statements attachés. Nous enrichissons chaque chunk avec des metadata incluant le titre du document, la section hierarchy et le content type afin que l'étape de retrieval puisse appliquer un scoring spécifique au type. Cette approche surperforme constamment le naive fixed-size chunking de 25 à 40 % sur les retrieval relevance benchmarks dans nos projets clients.
MicrocosmWorks construit des cadres d'évaluation qui testent les pipelines RAG selon trois dimensions : pertinence de la récupération (les bons segments sont-ils trouvés), fidélité de la réponse (la réponse générée reflète-t-elle réellement le contenu récupéré), et exhaustivité de la réponse (y répond-elle entièrement). Nous créons des jeux de tests de référence avec des experts du domaine qui incluent des requêtes à réponse connue, des cas limites adversariaux et des questions qui nécessitent une synthèse multi-documents. Cette évaluation s'exécute automatiquement en CI/CD afin que chaque modification de pipeline soit comparée aux métriques de qualité de référence avant le déploiement.
MicrocosmWorks sélectionne les bases de données vectorielles en fonction de votre échelle, de votre modèle de requête et de vos exigences opérationnelles — Pinecone pour sa simplicité de gestion, Weaviate pour la recherche hybride mot-clé-vecteur, pgvector pour les équipes déjà investies dans PostgreSQL, et Qdrant pour les déploiements auto-hébergés à haut débit. À des échelles inférieures à 10 millions de vecteurs, la plupart des options offrent une latence inférieure à 100 ms, mais les différences deviennent significatives à des centaines de millions de vecteurs, où le type d'index, la quantification et la stratégie de partitionnement sont d'une importance capitale. Nous comparons les performances de vos dimensions d'intégration réelles et de vos modèles de requête par rapport aux options présélectionnées lors de notre phase de conception d'architecture.
MicrocosmWorks conçoit des pipelines d'ingestion incrémentiels qui surveillent les dépôts de documents sources à la recherche de changements, re-chunk et re-embed uniquement les sections modifiées, et mettent à jour le vector store sans nécessiter une réindexation complète. Nous mettons en œuvre le document fingerprinting qui détecte les changements de contenu au niveau de la section, ainsi une seule modification de paragraphe ne déclenche pas le reprocessing d'un document entier de 200 pages. Pour les clients ayant des exigences de fraîcheur en temps réel, nous ajoutons une live retrieval layer qui interroge directement le système source pour les documents récemment modifiés et fusionne ces résultats avec les vector search hits.