article 12 mai 2026
Construire un pipeline RAG avec l'API Anthropic
Guide pratique pour implémenter un pipeline RAG (Retrieval-Augmented Generation) complet : embeddings, base vectorielle, retrieval et génération avec Claude.
## Qu'est-ce que le RAG ?
Le **Retrieval-Augmented Generation** est une technique qui améliore les LLMs en leur donnant accès à une base de connaissances externe au moment de la génération. Au lieu de se fier uniquement à leur mémoire d'entraînement, ils peuvent récupérer des documents pertinents et les inclure dans leur contexte.
## Les 4 étapes du pipeline
### 1. Ingestion — Chunking + Embedding
` s
// Découper le document en chunks
const chunks = splitIntoChunks(document, { size: 512, overlap: 50 });
// Générer les embeddings via OpenAI
const embeddings = await openai.embeddings.create({
model: 'text-embedding-3-small',
input: chunks.map(c => c.text),
});
`
### 2. Stockage vectoriel
Les embeddings sont stockés dans une base vectorielle (Supabase pgvector, Pinecone, etc.) avec leurs métadonnées.
### 3. Retrieval — Recherche sémantique
` s
// Embedder la question utilisateur
const queryEmbedding = await embedQuery(userQuestion);
// Rechercher les chunks les plus proches
const results = await supabase.rpc('match_documents', {
query_embedding: queryEmbedding,
match_count: 5,
});
`
### 4. Génération avec Claude
` s
const response = await anthropic.messages.create({
model: 'claude-sonnet-4-6',
max_tokens: 1024,
system: persona.system_prompt,
messages: [{
role: 'user',
content: Contexte:\n\n\nQuestion: ,
}],
});
`
## Intégration dans ce boilerplate
L'endpoint /api/search de ce boilerplate implémente ce pipeline complet. La persona Directus configure le system_prompt, les suggestions guident l'utilisateur, et les logs trackent chaque interaction.
Built with Anthropic Claude Supabase pgvector