Skip to content
Qu'est-ce que le RAG et comment l'utiliser dans LM Studio pour discuter avec vos propres documents
← ← Retour aux Réflexions AI

Qu'est-ce que le RAG et comment l'utiliser dans LM Studio pour discuter avec vos propres documents


Introduction

Vous avez un modèle IA local qui tourne sur votre ordinateur. Vous lui posez une question sur un document interne de votre entreprise. La réponse ? Complètement inventée. Pas parce que le modèle est mauvais — mais parce qu'il n'a tout simplement jamais vu votre document. Il n'a pas été entraîné sur vos données.

C'est la limitation fondamentale de tout modèle de langage : il ne sait que ce qu'il a appris pendant l'entraînement. Si l'information n'était pas dans les données d'entraînement, le modèle invente (hallucine) ou avoue honnêtement qu'il ne sait pas.

Le RAG (Retrieval-Augmented Generation) résout exactement ce problème. C'est la technique qui donne à votre modèle accès à vos documents — sans réentraînement, sans cloud, sans coûts supplémentaires. Et dans LM Studio, vous pouvez le faire directement sur votre ordinateur.

Dans cet article, j'explique ce qu'est le RAG, comment il fonctionne techniquement (de manière accessible), et comment le configurer pratiquement dans LM Studio.


Qu'est-ce que le RAG ?

RAG signifie Retrieval-Augmented Generation — en traduction libre, « génération augmentée par la récupération ». Ça semble compliqué, mais le principe est simple.

L'analogie du manuel d'examen

Imaginez deux scénarios à un examen :

Sans RAG : L'étudiant doit répondre de mémoire. S'il a étudié le chapitre concerné, il répond bien. Sinon, il invente quelque chose de plausible — exactement ce que font les modèles IA quand ils hallucinent.

Avec RAG : L'étudiant a le droit de consulter le manuel. Avant de répondre, il cherche les passages pertinents dans le livre, les lit, puis formule sa réponse en se basant sur des informations concrètes.

Le RAG fait exactement ça pour un modèle IA : avant de générer une réponse, il recherche dans vos documents les passages les plus pertinents, les « colle » à votre question, et le modèle répond avec le contexte réel sous les yeux.


Comment fonctionne le RAG techniquement ?

Le RAG comporte trois phases distinctes : préparation des données, récupération et génération. Prenons-les une par une.

Phase 1 : Préparation des données (faite une seule fois)

Cette phase transforme vos documents en un format que l'IA peut rechercher rapidement.

Étape 1 — Chunking (fragmentation)

Vos documents (PDF, Word, texte) sont découpés en petits morceaux appelés « chunks ». Pourquoi ? Parce qu'un modèle IA a une fenêtre de contexte limitée — on ne peut pas lui envoyer 500 pages d'un coup. Les chunks typiques font entre 200 et 1000 caractères, avec un léger chevauchement.

Par exemple, un manuel technique de 100 pages devient quelques centaines de fragments courts, chacun contenant une idée ou un paragraphe cohérent.

Étape 2 — Embedding (vectorisation)

Chaque chunk est transformé en vecteur — une liste de nombres qui capture le sens sémantique du texte. Ce processus s'appelle « embedding » et est réalisé par un modèle spécialisé.

Qu'est-ce que cela signifie concrètement ? Deux phrases avec un sens similaire auront des vecteurs proches, même si elles utilisent des mots différents. Par exemple :

  • "L'employé a droit à 25 jours de congé" → vecteur [0.23, 0.87, 0.11, ...]
  • "Chaque salarié bénéficie de 25 jours libres" → vecteur [0.24, 0.85, 0.13, ...]

Ces vecteurs sont proches dans l'espace mathématique, parce que le sens est similaire. Cette propriété est essentielle pour la recherche.

Étape 3 — Stockage dans la base vectorielle

Tous les vecteurs sont stockés dans une base de données vectorielle — une structure optimisée pour les recherches par similarité (FAISS, ChromaDB, Milvus).

Phase 2 : Récupération (à chaque question)

  1. Votre question est aussi transformée en vecteur.
  2. Le vecteur de la question est comparé à tous les vecteurs de la base.
  3. Les chunks les plus similaires sont retournés — les fragments de vos documents dont le sens est le plus proche de votre question.

C'est la recherche sémantique, fondamentalement différente d'une recherche par mots-clés. La recherche sémantique comprend le sens, pas seulement la correspondance exacte des mots.

Par exemple, si vous demandez "combien de jours de congé ai-je ?", la recherche sémantique trouvera le fragment sur "congé de vacances" — même si les mots "jours libres" n'apparaissent pas exactement dans le texte.

Phase 3 : Génération

Les chunks pertinents sont insérés dans le prompt envoyé au modèle. Le modèle génère une réponse basée sur les informations réelles de vos documents. Un RAG bien configuré demande au modèle de ne pas inventer si l'information n'est pas dans les documents fournis.

Le prompt interne ressemble à ceci :

CONTEXTE :
[Fragment 1 de votre document]
[Fragment 2 de votre document]
[Fragment 3 de votre document]

QUESTION : Combien de jours de congé ai-je droit ?

En utilisant le CONTEXTE ci-dessus, répondez à la QUESTION.
Si le CONTEXTE ne contient pas la réponse, dites que vous ne savez pas.

Ce dernier point est crucial.


Pourquoi RAG et non fine-tuning ?

Une question naturelle : pourquoi ne pas entraîner directement le modèle sur nos données ? Voici un tableau comparatif :

| Critère | RAG | Fine-tuning | |---------|-----|-------------| | Coût | Minimal (local) | Élevé (heures GPU, données propres) | | Temps de setup | Minutes | Heures à jours | | Mise à jour des données | Instantanée | Réentraînement complet | | Précision sur données spécifiques | Excellente | Variable | | Matériel nécessaire | Normal (n'importe quel PC avec LM Studio) | GPU puissant pour l'entraînement | | Confidentialité | Tout local, zéro cloud | Dépend de la méthode |

Le RAG gagne clairement pour les scénarios où vous avez des documents qui changent fréquemment et des réponses ancrées dans des sources concrètes.


RAG dans LM Studio : quatre variantes pratiques

LM Studio offre plusieurs façons d'utiliser le RAG, de la plus simple à la plus avancée.

Variante 1 : Chat avec documents (intégré, zéro configuration)

LM Studio a une fonctionnalité RAG intégrée directement dans l'interface de chat. C'est le moyen le plus simple de commencer.

Comment ça marche :

  1. Ouvrez un nouveau chat dans LM Studio avec votre modèle préféré chargé.
  2. Attachez des documents directement au message du chat (drag & drop ou cliquez sur l'icône de pièce jointe).
  3. Posez la question et envoyez.

Formats supportés : PDF, DOCX, TXT, CSV.

Ce qui se passe en coulisses :

  • Si le document est court et tient dans la fenêtre de contexte du modèle, LM Studio inclut tout le contenu dans la conversation. C'est le scénario idéal — le modèle voit tout.
  • Si le document est long, LM Studio active automatiquement le RAG : fragmente le document, cherche les passages pertinents, et les fournit au modèle.

Limites : Maximum 5 fichiers, taille combinée maximale de 30 Mo. Le cache est effacé avec le chat.

Quand utiliser : Quand vous avez un ou deux documents et voulez une réponse rapide, sans setup. Parfait pour "lire ce PDF et répondre à mes questions".

Variante 2 : Plugin RAG v2 (persistant, configurable)

Pour un setup plus sérieux, LM Studio supporte des plugins dédiés de RAG. Le rag-v2 (de dirty-data) ou le natif rag-v1 offre une fonctionnalité plus avancée.

Ce qu'il ajoute par rapport à la version intégrée :

  • Détection automatique du modèle d'embedding — le plugin trouve automatiquement un modèle d'embedding compatible déjà téléchargé dans LM Studio
  • Injection de contenu complet — pour les petits documents, inclut tout ; pour les grands, fait une récupération sélective
  • Configurable — vous pouvez ajuster le nombre de chunks retournés, le modèle d'embedding utilisé, et d'autres paramètres

Configuration :

  1. Dans LM Studio, allez dans la section Plugins.
  2. Recherchez et installez rag-v2 ou vérifiez si rag-v1 (intégré) est déjà actif.
  3. Configurez depuis l'interface :
    • Modèle d'embedding — laissez sur "Auto-Detect" ou sélectionnez manuellement un modèle (ex : nomic-embed-text)
    • Limite de récupération — combien de chunks retourner (par défaut 5, augmentez pour les documents complexes)
    • Déchargement automatique du modèle — si vous voulez que le modèle d'embedding soit déchargé de la mémoire après la récupération

Variante 3 : Plugin Big RAG (pour grandes collections)

Si vous avez des Go de documents — par exemple, une base complète de documentation technique, manuels ou contrats — le plugin Big RAG (de mindstudio) est la solution.

Capacités :

  • Scan récursif des répertoires — mettez tous les documents dans un dossier et le plugin indexe tout
  • Formats multiples — HTML, PDF, EPUB, TXT, Markdown, et même images avec OCR
  • Indexation incrémentale — à l'ajout de nouveaux documents, il ne ré-indexe pas tout
  • Stockage vectoriel sharding — supporte les grandes collections sans problèmes de performance

Setup :

  1. Installez le plugin Big RAG depuis LM Studio.

  2. Configurez le répertoire des documents (ex : ~/Documents/knowledge-base).

  3. Configurez le répertoire pour le stockage vectoriel (ex : ~/.lmstudio/rag-db).

  4. Optionnellement, ajustez :

    • Taille du chunk — 512 pour les documents généraux, 1024 pour le contenu technique
    • Limite de récupération — combien de résultats retourner (10 pour une précision plus élevée)
    • Seuil d'affinité — seuil de similarité (0.6 pour une haute précision, 0.4 pour des résultats plus larges)
  5. Démarrez le plugin. Le premier indexation prend quelques minutes, selon le volume de documents.

Variante 4 : AnythingLLM — interface RAG dédiée

Pour un contrôle maximum et la meilleure expérience, vous pouvez utiliser AnythingLLM comme intermédiaire. AnythingLLM est une application séparée qui gère complètement le RAG, en utilisant LM Studio comme backend pour le modèle.

Comment les pièces se connectent :

Vous → AnythingLLM (interface + moteur RAG) → LM Studio (sert le LLM)

Setup :

  1. LM Studio : Chargez votre modèle (ex : Qwen3-8B) et démarrez le serveur local (onglet Serveur, cliquez sur Démarrer).
  2. AnythingLLM : Téléchargez sur anythingllm.com et installez.
  3. Dans AnythingLLM, configurez :
    • Fournisseur LLM : sélectionnez "LM Studio" et ajoutez l'URL locale (http://localhost:1234/v1)
    • Modèle d'embedding : vous pouvez utiliser le modèle de LM Studio ou celui intégré à AnythingLLM
  4. Créez un workspace et téléchargez les documents.
  5. AnythingLLM traite automatiquement : chunking → embedding → stockage vectoriel.
  6. Commencez à poser des questions. AnythingLLM fait la récupération et envoie le contexte à LM Studio pour la génération.

Avantages d'AnythingLLM :

  • Interface dédiée pour la gestion des documents
  • Workspaces séparés pour différents projets
  • Aucune limite sur le nombre de documents
  • Support pour PDF, TXT, DOCX, et bien d'autres
  • Deux modes : Chat (conversationnel, avec contexte de l'entraînement + RAG) et Query (strictement à partir de vos documents, zéro hallucination)

Choix du modèle d'embedding

Un aspect souvent négligé mais critique : le modèle d'embedding est aussi important que le modèle principal de conversation. Il détermine la qualité de la recherche sémantique.

Recommandations pour LM Studio :

| Modèle | Taille | Recommandé pour | |--------|-----------|-------------------| | nomic-embed-text | ~270MB | Utilisation générale, bon rapport qualité/taille | | all-MiniLM-L6-v2 | ~80MB | Rapide, idéal pour du matériel limité | | bge-small-en-v1.5 | ~130MB | Bonne précision sur les textes en anglais | | multilingual-e5-large | ~1.2GB | Documents multilingues (y compris roumain) |

Si vous travaillez principalement avec des documents en langue roumaine, choisissez un modèle multilingue. Les modèles entraînés uniquement sur l'anglais feront des embeddings plus faibles pour le texte roumain, ce qui réduit la qualité de la récupération.


Conseils pour un RAG efficace

1. La qualité des documents est essentielle

Le principe "déchets à l'entrée, déchets à la sortie" s'applique doublement au RAG. Des documents bien structurés avec des titres clairs et des paragraphes cohérents produisent de meilleurs chunks et une récupération plus précise. Un PDF scanné comme image sans OCR ne produira rien d'utilisable.

2. La taille du chunk influence la qualité

  • Chunks trop grands → les vecteurs deviennent trop généraux, la récupération rate des détails spécifiques
  • Chunks trop petits → le contexte sémantique est perdu, les fragments n'ont plus de sens individuel
  • Règle générale : 500-1000 caractères par chunk, avec 10-20% de chevauchement

3. La formulation des questions fait la différence

Avec le RAG, les questions spécifiques battent les questions vagues :

  • ❌ "Que dit le contrat ?" — trop général, la récupération ne sait pas quoi chercher
  • ✅ "Quelle est la clause de paiement dans le contrat avec le fournisseur X ?" — la récupération peut identifier le fragment exactement pertinent

Mentionnez des termes, concepts et mots que vous vous attendez à trouver dans le document. Cela aide énormément la recherche sémantique.

4. Vérifiez les sources

Un grand avantage du RAG : vous pouvez demander au modèle de citer la source. LM Studio affiche les citations à la fin de la réponse, et AnythingLLM peut montrer exactement quel document et quel fragment a fourni l'information. Toujours vérifier — le RAG réduit les hallucinations mais ne les élimine pas complètement.

5. Expérimentez avec les paramètres

Il n'y a pas de réglages universels parfaits. Testez :

  • Augmentez la limite de récupération si les réponses semblent incomplètes
  • Diminuez le seuil d'affinité si aucun résultat n'est trouvé
  • Essayez un autre modèle d'embedding si la précision est faible
  • Ajustez la taille du chunk selon le type de documents

Cas d'utilisation pratiques

Le RAG n'est pas seulement une technologie intéressante — il a des applications concrètes et immédiates :

Documentation interne : Téléchargez les manuels de procédure de votre entreprise. Les employés posent des questions en langage naturel et reçoivent des réponses basées sur les procédures réelles.

Analyse contractuelle : Téléchargez les contrats et demandez des clauses spécifiques, termes, obligations. Plus rapide que la recherche manuelle.

Support technique : Téléchargez la documentation technique de vos produits. Créez un assistant qui répond aux questions techniques basées sur la documentation réelle.

Recherche : Téléchargez des articles académiques ou des rapports industriels. Posez des questions transversales qui synthétisent l'information de plusieurs sources.

Onboarding : Nouvel employé ? Donnez-lui accès à un chatbot RAG contenant tout ce qu'il doit savoir : politiques internes, procédures, outils, contacts.


Conclusion

Le RAG est probablement le moyen le plus pratique et accessible de rendre un modèle IA utile pour vos données spécifiques. Il ne nécessite pas d'entraînement coûteux, fonctionne localement avec LM Studio, et peut être configuré en quelques minutes.

Le principe est simple : au lieu de demander au modèle de tout savoir par cœur, vous lui permettez de "consulter le manuel". Le résultat ? Des réponses ancrées dans des documents réels, une réduction dramatique des hallucinations, et un assistant IA qui connaît vraiment votre entreprise.

Commencez avec la version simple — drag & drop un PDF dans le chat LM Studio. Testez quelques questions. Ensuite, au fur et à mesure que les besoins augmentent, passez aux plugins ou AnythingLLM pour un setup complet. La courbe d'apprentissage est douce, et les bénéfices sont immédiats.


Cet article fait partie de la série de publications techniques sur le blog TEN INVENT. Si vous voulez implémenter un système RAG pour votre entreprise ou avez des questions sur l'IA locale, contactez-nous.