A collection of my Retrieval-Augmented Generation (RAG) projects, experiments, and learning implementations.
This repository is where I am learning and building different types of RAG systems step by step, starting from the fundamentals and gradually moving toward more advanced architectures.
I created this repository to learn RAG by building it, rather than only studying the theory.
RAG is an important concept in Generative AI, but understanding how the individual components work together is just as important as knowing the terminology.
Through these projects, I am exploring how different RAG architectures handle:
- Document ingestion
- Text preprocessing
- Chunking
- Embeddings
- Vector databases
- Information retrieval
- Prompt construction
- LLM generation
- Retrieval quality
- RAG evaluation
- Advanced retrieval strategies
The goal is to build each concept practically and understand why and when different RAG techniques are used.
I am gradually building different RAG implementations, starting with a simple baseline and increasing the complexity.
Naive RAG
↓
Advanced RAG
↓
Hybrid RAG
↓
Reranking
↓
Query Expansion
↓
Query Decomposition
↓
Agentic RAG
↓
More Advanced RAG Architectures
| Project | Main approach | Classification |
| ------------------ | ------------------------------------------------------------------------------------------ | ----------------- |
| Naive RAG | Chunk → Embed → Vector DB → Top-K retrieval → LLM | Naive / Basic RAG |
| RAG Query Analyzer | Query analysis → expansion/decomposition → routing → Vector + BM25 → RRF → reranking → LLM | Advanced RAG |
| GraphRAG | Document processing → Entity and relationship extraction → Knowledge graph | Graph-Based RAG |
| | → Community detection and summaries → Graph + Vector retrieval → Hybrid fusion → LLM | |