Modèle / jeu de données
NirDiamant/RAG_Techniques avatar
NirDiamant/RAG_Techniques

RAG_Techniques : 42 notebooks pour choisir une stratégie de récupération

This repository showcases various advanced techniques for Retrieval-Augmented Generation (RAG) systems. Each technique has a detailed notebook tutorial.

29 490 étoiles3 611 forksJupyter NotebookNOASSERTION

En bref

De quoi s’agit-il ?
Le dépôt NirDiamant/RAG_Techniques est une collection de notebooks pédagogiques sur la génération augmentée par récupération. Voici ce qu'il contient réellement, comment on l'ouvre, et pourquoi il ne remplace pas une bibliothèque d'orchestration.
À qui s’adresse-t-il ?
Ce dépôt convient à un ingénieur qui doit trancher entre plusieurs stratégies de récupération et qui veut lire le code avant d'écrire le sien. Il ne convient pas à une équipe qui cherche une bibliothèque à importer dans un service : rien ici ne s'installe comme dépendance.
Puis-je l’utiliser commercialement ?
À vérifier. La licence de ce dépôt n’entre pas dans les catégories que nous classons automatiquement : lisez son fichier LICENSE avant tout usage commercial.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 1 jour.
En quel langage est-il écrit ?
Principalement Jupyter Notebook, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Un catalogue de méthodes, pas un paquet installable

Le problème traité ici n'est pas technique mais décisionnel. Un ingénieur qui construit un système de récupération augmentée doit choisir entre découpage sémantique, recherche hybride, réécriture de requête, reranking ou récupération par graphe. Chaque choix a un coût en latence et en complexité, et la documentation des bibliothèques ne dit presque jamais lequel retenir. Le dépôt répond en proposant plus de 42 notebooks exécutables, chacun présenté comme un tutoriel détaillé sur une technique. La langue principale du dépôt est Jupyter Notebook, ce qui est cohérent : le livrable est un document lisible et exécutable, pas une bibliothèque. Le public visé est donc celui qui apprend en lisant du code, et non celui qui cherche une dépendance à ajouter dans un requirements.txt. Cette distinction est la plus importante à faire avant d'ouvrir le dépôt.

Ce que la structure du dépôt révèle

Le README décrit un ensemble allant des techniques fondamentales aux techniques récentes, avec pour chacune l'intuition, le code et les références. Les sujets déclarés dans les métadonnées du dépôt couvrent agentic-rag, embeddings, langchain, llama-index, vector-database et semantic-search. On peut donc en déduire que les notebooks s'appuient sur plusieurs écosystèmes plutôt que sur une abstraction maison, et qu'un même problème y est probablement traité de plusieurs façons selon la bibliothèque employée. La branche par défaut est main, le dépôt n'est pas archivé. La dernière poussée enregistrée date du 4 septembre 2026 et la seule version publiée listée est book-v1.0, publiée le 15 avril 2026, sous le titre RAG Made Simple: Visual Companion Book. Il n'existe donc pas de version numérotée du code lui-même, ce qui a une conséquence pratique : on ne peut pas épingler un état du dépôt par un tag de version, seulement par un commit.

Comment on l'ouvre réellement

Il n'y a pas de commande d'installation du projet, puisqu'il n'y a pas de paquet. La mise en route consiste à ouvrir les notebooks, ce qui suppose un environnement Python avec Jupyter, puis à installer les dépendances propres à chaque notebook. Le README ne documente pas de fichier de dépendances unique dans l'extrait fourni, et cette absence est un point à vérifier avant de commencer : si chaque notebook importe un jeu de paquets différent, l'environnement se construit notebook par notebook. Le README donne par ailleurs un exemple concret de commande, mais il ne concerne pas le projet lui-même : un npm install ajoute un assistant lié au cours payant dans Claude Code. C'est une commande Node dans un dépôt Python, et elle sert à un produit commercial, pas à faire tourner les notebooks. À retenir aussi : les notebooks s'appuient sur des modèles et des bases vectorielles, donc une partie du code ne s'exécute pas sans clé d'API et sans coût d'appel.

La limite que le format impose

Un notebook est un bon support d'explication et un mauvais support de bibliothèque. Rien dans le dépôt ne ressemble à une API stable : pas de version du code, pas d'interface figée, pas de garantie que la cellule qui fonctionne aujourd'hui fonctionnera après la prochaine poussée. Le dépôt est explicitement présenté comme un hub communautaire, avec un badge PRs Welcome, ce qui implique des contributions de formats variés. Si votre besoin est d'appeler une fonction de récupération depuis un service en production, ce dépôt est le mauvais outil : vous y trouverez la recette, pas le composant. Autre point, la licence : elle est enregistrée comme NOASSERTION, c'est-à-dire que GitHub n'a pas pu identifier une licence reconnue. Aucun texte de licence exploitable n'apparaît dans le matériel fourni. Sans clarification, la réutilisation du code dans un produit distribué reste une question ouverte, et ce n'est pas un point qu'on peut trancher en lisant le README.

LangChain et LlamaIndex, l'autre façon de faire

La comparaison utile n'est pas entre ce dépôt et un autre tutoriel, mais entre ce dépôt et les bibliothèques qu'il utilise. LangChain et LlamaIndex fournissent des composants installables : un découpeur, un retriever, un reranker, avec des signatures qui changent selon les versions mais qui existent comme contrat. Le dépôt RAG_Techniques fait l'inverse : il montre comment ces composants se combinent, et pourquoi on choisirait telle combinaison. La différence d'approche est nette. Une bibliothèque vous donne un objet à importer et à configurer, avec un cycle de mise à jour à suivre. Un notebook vous donne un raisonnement à lire, avec un cycle de lecture à refaire quand une technique évolue. Les deux ne répondent pas à la même question. On peut d'ailleurs noter que les notebooks s'appuient sur ces bibliothèques, donc l'un ne remplace pas l'autre : le dépôt présuppose l'écosystème qu'il illustre.

Le modèle économique autour du contenu

Le README est dense en appels à l'action. Il renvoie vers un cours payant hébergé sur diamant-ai.com, vers une infolettre, vers un subreddit, un serveur Discord et un programme de sponsoring, avec des liens de suivi qui passent par une fonction Cloud. Les sponsors sont affichés en tête de README. Le README annonce plus de 50 000 abonnés à l'infolettre et une remise de 33 pour cent sur le livre et le cours. Ces chiffres sont des affirmations du README, pas des mesures indépendantes, et ils ne disent rien de la qualité des notebooks. Ce qu'ils disent, en revanche, c'est que le dépôt sert aussi de canal d'acquisition. Cela n'invalide pas le contenu technique, mais cela explique la place accordée au cours et à l'assistant npm install dans un dépôt de notebooks Python. À vous de décider si cette couche commerciale vous gêne dans un usage pédagogique.

Coût de maintenance et de mise à jour

Comme il n'y a pas de version du code, la maintenance se raisonne en lecture, pas en montée de version. Le coût principal est le temps nécessaire pour ouvrir un notebook, reconstruire son environnement et vérifier que les appels d'API fonctionnent encore. Ce coût augmente avec le nombre de notebooks que vous suivez, puisque chacun peut dépendre d'une bibliothèque différente. Le dépôt étant actif et communautaire, il faut s'attendre à ce que des notebooks vieillissent à des rythmes différents selon l'intérêt qu'ils suscitent. La version publiée book-v1.0 concerne un livre compagnon, pas le code. Pour un usage durable, la seule ancre fiable est le commit : notez le hash du commit dont vous avez tiré une recette, sinon vous ne saurez pas reproduire votre propre lecture dans six mois.

Conclusion éditoriale

Ce dépôt convient à un ingénieur qui doit trancher entre plusieurs stratégies de récupération et qui veut lire le code avant d'écrire le sien. Il ne convient pas à une équipe qui cherche une bibliothèque à importer dans un service : rien ici ne s'installe comme dépendance. Avant de s'engager, vérifier la licence réelle du dépôt, qui n'est pas déclarée, puis ouvrir un notebook et compter les cellules qui appellent une API payante, car c'est ce nombre qui détermine le coût de la lecture.

Sources officielles

  1. Issues
  2. NirDiamant/RAG_Techniques on GitHub
  3. Project website
  4. README
  5. Releases
Notes de la communauté

Notes de la communauté