explaingit

shubhamsaboo/all-rag-techniques

Analysis updated 2026-07-06 · repo last pushed 2025-06-10

138Audience · developerComplexity · 2/5StaleSetup · easy

TLDR

A collection of Jupyter Notebooks that explain over 20 techniques for making AI answer questions using your own documents, written in plain Python without heavy frameworks so the logic is easy to read and modify.

Mindmap

mindmap
  root((repo))
    What it does
      Teaches RAG techniques
      Plain Python notebooks
      Visuals and evaluations
    Use cases
      Customer support bots
      Search company PDFs
      Reason over specific data
    Audience
      Developers
      Product managers
      Founders
    Tech stack
      Python
      Jupyter Notebook
    Tradeoffs
      No heavy frameworks
      Educational not production
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build an AI chatbot for customer support that answers from your own help docs.

USE CASE 2

Create a search tool that lets users find answers inside a library of company PDFs.

USE CASE 3

Learn the tradeoffs of different RAG strategies to pick the right one for your app.

USE CASE 4

Understand how document chunking and question rewriting improve AI search results.

What is it built with?

PythonJupyter Notebook

How does it compare?

shubhamsaboo/all-rag-techniquesnvlabs/isaaclabeurekawebdevsimplified/react-multistep-form
Stars138138138
LanguagePythonTypeScript
Last pushed2025-06-102025-10-282023-10-07
MaintenanceStaleQuietDormant
Setup difficultyeasymoderatemoderate
Complexity2/54/52/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Open and run individual Jupyter Notebooks in order, requires basic Python environment and likely an LLM API key.

In plain English

All-rag-techniques is a learning resource that breaks down how AI systems can answer questions using your own documents, instead of relying solely on what the AI was trained on. This concept is called Retrieval-Augmented Generation, or RAG. The repo provides a collection of individual Jupyter Notebooks, each explaining a specific technique for making this process work better. Instead of using heavy frameworks that hide the details, it uses plain Python so you can actually read, understand, and modify the code. RAG works by taking a user's question, searching a set of documents for the most relevant text, and then passing that text to a language model to generate an answer. The challenge is that basic search often misses context or retrieves the wrong information. This project demonstrates over 20 different strategies to fix that. For example, some notebooks show how to split documents into better chunks, how to rewrite a user's question for better search results, or how to combine text and images for richer answers. Each notebook includes explanations, code, visualizations, and evaluations so you can see how each technique performs. This is ideal for developers, product managers, or founders who want to understand how RAG actually works under the hood. If you are building an AI chatbot for customer support, a tool that searches through company PDFs, or any application that needs an AI to reason over specific data, these notebooks show you the mechanics step-by-step. It is also useful if you already use tools that do RAG for you, but you want to understand the tradeoffs and options available so you can make better decisions. A notable tradeoff is that the project intentionally avoids popular frameworks. This makes the code more readable and educational, but means you would need to build out more robust infrastructure if you wanted to move these techniques into a production system.

Copy-paste prompts

Prompt 1
I want to understand how RAG works. Walk me through the core steps of taking a user question, searching documents, and generating an answer, using plain Python without any frameworks.
Prompt 2
Help me compare different document chunking strategies for RAG. What are the tradeoffs between small and large chunks, and how do I evaluate which one retrieves better context?
Prompt 3
I have a collection of company PDFs and want to build a question-answering tool. Based on the all-rag-techniques notebooks, which techniques should I start with for basic search and then add to improve accuracy?
Prompt 4
Explain how query rewriting improves RAG search results and show me a simple Python example of rewriting a user question before searching documents.

Frequently asked questions

What is all-rag-techniques?

A collection of Jupyter Notebooks that explain over 20 techniques for making AI answer questions using your own documents, written in plain Python without heavy frameworks so the logic is easy to read and modify.

Is all-rag-techniques actively maintained?

Stale — no commits in 1-2 years (last push 2025-06-10).

How hard is all-rag-techniques to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is all-rag-techniques for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.