RAG (génération augmentée par récupération)
IA / LLM 🟡 MidDéfinition
Architecture qui récupère au moment de la requête des passages pertinents (base vectorielle, recherche plein texte, API) et les injecte dans le prompt pour ancrer la réponse dans des sources. Formalisé par Lewis et al. (soumis le 22 mai 2020) en combinant mémoire paramétrique et non paramétrique. La qualité dépend surtout de la récupération : découpage, embeddings, filtrage, reranking.
Analogie
Un examen avec documents autorisés : l'étudiant ne récite pas de mémoire, il cite le manuel ouvert devant lui.
Exemple de code
// 1. embed la question 2. top-k en base vectorielle 3. prompt ancré
const [{ embedding }] = (await openai.embeddings.create({
model: 'text-embedding-3-small', input: question })).data;
const { rows } = await pg.query(
`SELECT content, url FROM chunks
ORDER BY embedding <=> $1::vector LIMIT 5`, [JSON.stringify(embedding)]);
const context = rows.map((r, i) => `[${i + 1}] ${r.content} (${r.url})`).join('\n');
const msg = await client.messages.create({
model: 'claude-sonnet-5', max_tokens: 800,
system: 'Réponds uniquement à partir des extraits, cite [n]. Sinon dis que tu ne sais pas.',
messages: [{ role: 'user', content: `<extraits>\n${context}\n</extraits>\n${question}` }],
});
Cas d'usage
Assistant sur documentation interne, support produit, recherche juridique : données privées ou postérieures à la coupure.
Anti-pattern
Coller tout le corpus dans le prompt « puisque le contexte est grand » : coût, latence et précision se dégradent.
Termes liés
Fiche mise à jour le 2026-09-27