Welcome to your comprehensive learning journey into Retrieval-Augmented Generation (RAG)! This repository is designed for absolute beginners who want to master RAG from the ground up in just 10 days.
This roadmap takes you from Python fundamentals all the way to building and deploying a complete RAG application. Each day builds upon the previous one, ensuring you have a solid foundation before moving to more advanced concepts. By the end of 10 days, you'll have hands-on experience with:
- Python programming for AI applications
- Large Language Models (LLMs) and their capabilities
- Prompt engineering techniques
- Data extraction and chunking strategies
- Vector embeddings and databases
- Building RAG systems from scratch
- Using frameworks like LangChain and LlamaIndex
- Advanced RAG techniques
- Deploying production-ready RAG applications
- Study Day-by-Day: Follow the roadmap sequentially, starting with Day 1
- Read the Notes: Open each day's folder and read the
README.mdfile thoroughly - Complete Assignments: Work through the
assignment.mdfile for hands-on practice - Practice Regularly: Code along with the examples and complete all practice tasks
- Build Projects: Each day includes a mini-project to reinforce your learning
- Time per day: 2-4 hours
- Read notes: 30-60 minutes
- Complete assignments: 1-2 hours
- Mini project: 30-60 minutes
- Python 3.8 or higher (Python 3.10+ recommended)
You'll install these progressively throughout the roadmap:
# Core libraries
pip install openai
pip install langchain
pip install llama-index
pip install chromadb
pip install sentence-transformers
pip install pypdf
pip install beautifulsoup4
pip install requests
pip install fastapi
pip install streamlit
pip install uvicornYou'll need API keys for certain days:
- OpenAI API Key (for Days 2, 3, 6, 7, 8, 9, 10)
- Sign up at platform.openai.com
- Get your API key from the API keys section
- Store it securely (use environment variables)
Create a .env file in the root directory:
OPENAI_API_KEY=your_api_key_here| Day | Topic | Focus Area |
|---|---|---|
| Day 1 | Python Foundations for GenAI | Python basics, data structures, file handling, APIs |
| Day 2 | Generative AI & LLM Basics | Understanding LLMs, OpenAI API, model capabilities |
| Day 3 | Prompt Engineering Essentials | Crafting effective prompts, few-shot learning, chain-of-thought |
| Day 4 | Chunking & Data Extraction | PDF parsing, web scraping, document processing |
| Day 5 | Embeddings & Vector Databases | Vector embeddings, similarity search, ChromaDB |
| Day 6 | RAG Fundamentals | Retrieval → Augmentation → Generation pipeline |
| Day 7 | Implement RAG From Scratch | Building RAG system with pure Python |
| Day 8 | RAG Using LangChain or LlamaIndex | Using popular RAG frameworks |
| Day 9 | Advanced RAG | Reranking, query rewriting, fusion techniques |
| Day 10 | Build & Deploy RAG Application | FastAPI/Streamlit deployment, production considerations |
rag-roadmap/
│
├── Day01/
│ ├── README.md
│ └── assignment.md
│
├── Day02/
│ ├── README.md
│ └── assignment.md
│
├── Day03/
│ ├── README.md
│ └── assignment.md
│
├── Day04/
│ ├── README.md
│ └── assignment.md
│
├── Day05/
│ ├── README.md
│ └── assignment.md
│
├── Day06/
│ ├── README.md
│ └── assignment.md
│
├── Day07/
│ ├── README.md
│ └── assignment.md
│
├── Day08/
│ ├── README.md
│ └── assignment.md
│
├── Day09/
│ ├── README.md
│ └── assignment.md
│
├── Day10/
│ ├── README.md
│ └── assignment.md
│
└── README.md (this file)
- Don't Skip Days: Each day builds on previous concepts
- Code Along: Type out the examples yourself, don't just read
- Experiment: Modify examples to see what happens
- Ask Questions: If something is unclear, research it
- Take Notes: Write down key concepts in your own words
- Build Projects: The mini-projects are crucial for understanding
- Basic understanding of programming concepts (variables, functions, loops)
- Familiarity with command line/terminal
- Willingness to learn and experiment
- No prior AI/ML experience required!
- All code examples are beginner-friendly
- Solutions are not provided for assignments (learning by doing!)
- You can work at your own pace, but try to complete one day per day
- Feel free to revisit previous days if needed
Created by Chandra Sekhar
Ready to start? Navigate to Day01/ and begin your RAG journey! 🚀