# KodeKloud: Beta Courses Fundamentals of RAG

## Fundamentals of RAG

### Introduction

- [Course Introduction](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Introduction/Course-Introduction/page.md): Introduction to Retrieval-Augmented Generation course teaching RAG concepts, architecture, ingestion, chunking, retrieval, embeddings, vector databases, and building production-ready pipelines.
- [What is RAG and Why DevOps Teams Need It](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Introduction/What-is-RAG-and-Why-DevOps-Teams-Need-It/page.md): Explains how Retrieval‑Augmented Generation helps DevOps access and combine internal logs, runbooks, and configs to speed incident response, onboarding, and decision support
- [RAG Architecture Deep Dive](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Introduction/RAG-Architecture-Deep-Dive/page.md): A practical deep dive into Retrieval-Augmented Generation covering architecture, ingestion, retrieval, generation, challenges, and production patterns for building evidence-grounded LLM systems.
- [When to Use RAG vs Alternatives](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Introduction/When-to-Use-RAG-vs-Alternatives/page.md): A decision framework for choosing Retrieval-Augmented Generation versus alternatives for document-based AI, covering trade-offs, data and query considerations, costs, and a practical checklist.
- [Demo Ollama Setup and Walkthrough](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Introduction/Demo-Ollama-Setup-and-Walkthrough/page.md): Guide to installing and using Ollama to run and manage open source large language models locally, including installation, CLI and GUI workflows, model commands, and local API usage.
- [Demo Connecting with Ollama](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Introduction/Demo-Connecting-with-Ollama/page.md): Guide to using Ollama to run and access local large language models via GUI, CLI, and REST API with examples for streaming and non streaming responses.
- [Demo Apple Silicon and Ollama](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Introduction/Demo-Apple-Silicon-and-Ollama/page.md): How Apple Silicon unified memory and memory‑mapping enable running larger local LLMs with Ollama, explaining performance trade offs, tooling, and practical testing advice
- [Demo NVIDIA Architecture and Ollama](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Introduction/Demo-NVIDIA-Architecture-and-Ollama/page.md): Guide for running local LLM inference on a Linux host with a discrete NVIDIA GPU, covering VRAM architecture, monitoring with nvidia-smi and htop, and cloud provisioning considerations
- [Demo Project Structure and Development Environment](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Introduction/Demo-Project-Structure-and-Development-Environment/page.md): Guide to setting up a Python project with the Ollama client, creating a virtual environment, and running single-shot generation and context-aware chat examples against a local Ollama server.

### Document Processing and Chunking

- [Document Ingestion Fundamentals](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Document-Processing-and-Chunking/Document-Ingestion-Fundamentals/page.md): Guides converting messy documents into structured, metadata-rich text for retrieval-augmented generation, covering parsing challenges, PDF layout handling, chunking, and recommended tools
- [Demo Ingesting Text](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Document-Processing-and-Chunking/Demo-Ingesting-Text/page.md): Guide to building a Python UTF-8 text parser that chunks documents with sentence-aware overlap and attaches metadata for retrieval-augmented generation pipelines
- [Demo Ingesting Docx](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Document-Processing-and-Chunking/Demo-Ingesting-Docx/page.md): A tutorial showing how to parse DOCX files in Python, chunk text preserving paragraph and sentence boundaries, and prepare chunks with metadata for RAG embedding workflows
- [Demo Ingesting PDF](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Document-Processing-and-Chunking/Demo-Ingesting-PDF/page.md): A tutorial demonstrating a reusable PDFParser that extracts selectable text, splits it into RAG-friendly chunks, emits metadata, and provides usage examples and OCR guidance.
- [Demo Ingesting CSV](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Document-Processing-and-Chunking/Demo-Ingesting-CSV/page.md): Converting CSV files into RAG-ready documents using a Python script that creates searchable text and metadata per row and optionally exports JSON for vector store ingestion.
- [Chunking Strategies Explained](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Document-Processing-and-Chunking/Chunking-Strategies-Explained/page.md): Guidance on text chunking strategies for efficient LLM ingestion and retrieval in RAG systems
- [Demo Advanced Chunking Strategies](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Document-Processing-and-Chunking/Demo-Advanced-Chunking-Strategies/page.md): Demonstrates multiple document chunking strategies in Python for RAG, semantic search, and vector indexing, covering line, fixed, sliding, sentence, paragraph, page, section, and token methods

### Keyword Search & Retrieval

- [Introduction to Retrieval Methods](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Keyword-Search-Retrieval/Introduction-to-Retrieval-Methods/page.md): Guide to retrieval methods and system design for retrieval augmented generation covering hybrid, sparse and dense search, chunking, re-ranking, caching, security, observability, and operational trade-offs
- [Reranking](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Keyword-Search-Retrieval/Reranking/page.md): Explains reranking in retrieval pipelines, using stronger models to reorder retrieved candidates for improved relevance and final answer quality.
- [TF IDF Algorithm](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Keyword-Search-Retrieval/TF-IDF-Algorithm/page.md): Explains TF-IDF scoring, intuition, formulas, a worked example, document ranking usage, practical considerations and limitations for retrieval systems
- [BM25 Algorithm](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Keyword-Search-Retrieval/BM25-Algorithm/page.md): Explains the BM25 ranking function, why it improves on TF and TF-IDF by applying term saturation and length normalization for fairer document relevance
- [Demo Keyword search vs Semantic search](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Keyword-Search-Retrieval/Demo-Keyword-search-vs-Semantic-search/page.md): Demonstrates and compares TF-IDF keyword search with semantic embeddings for document retrieval using Whoosh and SentenceTransformers, highlighting differences and tradeoffs.

### Semantic Search & Embeddings

- [Limitations of Keyword Search](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Semantic-Search-Embeddings/Limitations-of-Keyword-Search/page.md): Explains keyword search limitations and how semantic retrieval and hybrid RAG improve recall, disambiguation, passage retrieval, and robustness to synonyms, typos, and long documents.
- [Understanding Embedding Models](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Semantic-Search-Embeddings/Understanding-Embedding-Models/page.md): Explains embedding models and how vector representations of text enable semantic search and retrieval augmented generation, plus trade offs in model selection, storage, and practical workflows
- [Sentence Transformers](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Semantic-Search-Embeddings/Sentence-Transformers/page.md): Explains Sentence Transformers that convert sentences into fixed-length semantic vectors enabling semantic search, efficient retrieval, and integration with retrieval-augmented generation.
- [Similarity Calculations](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Semantic-Search-Embeddings/Similarity-Calculations/page.md): Explains using embeddings and cosine similarity to measure semantic relevance for effective semantic search and retrieval augmented generation, improving document retrieval and grounding model outputs.
- [Demo BM25 vs Semantic Search](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Semantic-Search-Embeddings/Demo-BM25-vs-Semantic-Search/page.md): Demonstration comparing BM25 token matching with sentence-transformer semantic retrieval and a weighted hybrid ranker, with runnable Jupyter notebook, code, and tuning guidance.
- [Demo From Keyword to Semantic Search](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Semantic-Search-Embeddings/Demo-From-Keyword-to-Semantic-Search/page.md): Compares keyword lexical search and sentence-transformer semantic search with code examples, illustrating differences, evaluation, and recommending hybrid retrieval with semantic re-ranking for better recall and precision.

### Vector Databases

- [Why Vector Databases](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Vector-Databases/Why-Vector-Databases/page.md): Explains vector databases, their role in semantic search and RAG, ANN indexing tradeoffs, workflows, best practices, and when to choose them over keyword search.
- [Vector Database Options for RAG](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Vector-Databases/Vector-Database-Options-for-RAG/page.md): Comparison and guidance on choosing vector databases for RAG, covering local, self-hosted, and managed options, trade-offs, benchmarks, and practical recommendations
- [Demo ChromaDB Implementation](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Vector-Databases/Demo-ChromaDB-Implementation/page.md): Guide to building a persistent local ChromaDB semantic search using SentenceTransformers embeddings, text chunking, idempotent ingestion, and similarity queries with optional metadata filters.

### Building the RAG Pipeline

- [Demo Hello RAG](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Building-the-RAG-Pipeline/Demo-Hello-RAG/page.md): Guide to building a minimal RAG pipeline using Ollama for embeddings and generation and ChromaDB for vector storage, indexing one in-memory document and producing grounded answers with local LLM
- [Demo Ingesting Local Files](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Building-the-RAG-Pipeline/Demo-Ingesting-Local-Files/page.md): Minimal demo ingesting local .md and .txt files into Chroma with Ollama embeddings and LLM, performing chunking, semantic search, prompt building, citation, and simple CLI commands.
- [Demo Hybrid Retrieval BM25 Chroma Ollama](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Building-the-RAG-Pipeline/Demo-Hybrid-Retrieval-BM25-Chroma-Ollama/page.md): Shows how to build a local hybrid RAG pipeline combining BM25 keyword search, Chroma vector search, Reciprocal Rank Fusion, and Ollama LLM for source-grounded question answering.
- [Demo Testing your RAG System](https://notes.kodekloud.com/docs/Fundamentals-of-RAG/Building-the-RAG-Pipeline/Demo-Testing-your-RAG-System/page.md): Guide for testing and tuning a hybrid RAG pipeline using BM25 and vector retrieval, inspecting sources, adjusting chunking and retrieval budgets, and preventing hallucinations.
