The rag_techniques repository provides a comprehensive collection of Jupyter notebooks demonstrating various Retrieval-Augmented Generation (RAG) strategies. Techniques are organized into the following functional categories:
- Foundational 🌱: Basic RAG, RAG with CSV Files, Reliable RAG, Optimizing Chunk Sizes, and Proposition Chunking.
- Query Enhancement 🔍: Query Transformations, HyDE (Hypothetical Document Embedding), and HyPE (Hypothetical Prompt Embedding).
- Context Enrichment 📚: Contextual Chunk Headers, Relevant Segment Extraction, Context Window Enhancement, Semantic Chunking, Contextual Compression, and Document Augmentation.
- Advanced Retrieval 🚀: Fusion Retrieval, Reranking, Multi-faceted Filtering, Hierarchical Indices, Dartboard Retrieval, and Multi-modal RAG with Captioning.
- Iterative Techniques 🔁: Retrieval with Feedback Loop and Adaptive Retrieval.
- Evaluation 📊: DeepEval and GroUSE.
You can access each technique via GitHub notebooks, Google Colab for interactive execution, or video tutorials where available.