top of page
Construire un RAG en Python
Un RAG minimal tient en une cinquantaine de lignes de Python : des embeddings pour représenter les textes, NumPy pour calculer les similarités, et un appel au LLM pour rédiger la réponse. Cet exemple montre chaque étape sans framework.
Ce que fait le script
- Indexation : chaque passage est converti en embedding. Les vecteurs sont empilés dans une matrice NumPy et normalisés.
- Recherche : la question est vectorisée, puis comparée à tous les passages par similarité cosinus. On garde les k meilleurs.
- Génération : les passages retenus sont insérés dans le prompt, avec la consigne de ne répondre qu'à partir d'eux et de le dire si l'information manque.
Pour aller plus loin
- Avec des milliers de passages, remplacez la matrice NumPy par une base vectorielle.
- Découpez vos documents en passages de taille régulière, avec un léger chevauchement.
- Conservez la source de chaque passage (fichier, page) pour l'afficher sous la réponse.
- Ajoutez une recherche par mots-clés et un reranking (voir RAG avancé).
Comme pour l'appel simple, l'exemple utilise la bibliothèque openai ; les noms de modèles sont à reprendre dans la documentation du fournisseur.
bottom of page