Qu'est-ce que RAG 

La génération augmentée par la recherche (RAG) est un cadre d'IA qui améliore la précision et la fiabilité des grands modèles linguistiques (LLM) en intégrant des sources de connaissances externes.

RAG combine les atouts de la recherche d'informations et de la génération de texte. Il récupère d'abord les informations pertinentes d'une base de connaissances ou de sources de données externes en fonction de la requête d'un utilisateur. Ces informations récupérées augmentent ensuite l'invite du LLM, en lui fournissant le contexte et les faits nécessaires pour générer une réponse plus éclairée et précise. Cette approche réduit la dépendance aux paramètres internes du LLM, atténuant ainsi le risque de générer des informations incorrectes ou hallucinées, en particulier pour les connaissances spécialisées ou à jour. Le processus implique généralement l'indexation d'une base de connaissances, l'interrogation de celle-ci avec la question d'un utilisateur, la récupération des documents pertinents, puis l'alimentation de ces documents dans le LLM avec la question d'origine pour générer une réponse.

        graph LR
  Center["Qu'est-ce que RAG "]:::main
  Pre_logic["logic"]:::pre --> Center
  click Pre_logic "/terms/logic"
  Rel_retrieval_augmented_generation["retrieval-augmented-generation"]:::related -.-> Center
  click Rel_retrieval_augmented_generation "/terms/retrieval-augmented-generation"
  Rel_rag_pipeline["rag-pipeline"]:::related -.-> Center
  click Rel_rag_pipeline "/terms/rag-pipeline"
  Rel_reinforcement_learning["reinforcement-learning"]:::related -.-> Center
  click Rel_reinforcement_learning "/terms/reinforcement-learning"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Test de connaissances

1 / 3

🧒 Explique-moi comme si j'avais 5 ans

Imagine you're asking a super-smart robot a question, but it only knows things it learned a long time ago. RAG is like giving the robot a quick peek at a library book (the knowledge base) before it answers, so it can tell you the latest and most correct information!

🤓 Expert Deep Dive

RAG architectures fundamentally decouple knowledge acquisition from model inference by augmenting a generative Large Language Model (LLM) with an external, dynamically queried knowledge source. The core components typically include:

  1. Document Indexing: A corpus of documents (e.g., articles, PDFs, web pages) is processed and embedded into a vector space using a pre-trained embedding model (e.g., Sentence-BERT, OpenAI's text-embedding-ada-002). These embeddings are stored in a vector [database](/fr/terms/vector-database) (e.g., Pinecone, Weaviate, FAISS) for efficient similarity search.
  2. Retrieval: Upon receiving a user query, the query is also embedded into the same vector space. A similarity search (e.g., Approximate Nearest Neighbor - ANN) is performed against the vector database to identify the k most relevant document chunks (or passages) based on cosine similarity or dot product.
  3. Augmentation & Generation: The original user query and the retrieved document chunks are concatenated into a single prompt. This augmented prompt is then fed into the LLM. The LLM uses this context to generate a response that is grounded in the retrieved information.

Mathematically, the retrieval step can be viewed as finding document embeddings $d_i$ such that their similarity to the query embedding $q$ is maximized:

$i^* = \arg\max_i \text{sim}(q, d_i)$

where $\text{sim}(u, v)$ is a similarity function like cosine similarity: $\frac{u \cdot v}{\|u\| \cdot \|v\|}$.

This approach mitigates the 'knowledge cut-off' problem inherent in LLMs and significantly reduces hallucination by providing factual grounding. Advanced RAG techniques explore re-ranking retrieved documents, query expansion, and fine-tuning the retriever and generator components jointly (e.g., REALM, DPR).

🔗 Termes associés

Prérequis:

📚 Sources