Welcome to the Building an End-to-End Retrieval-Augmented Generation System repository. This repository is designed to guide you through the process of creating a complete Retrieval-Augmented Generation (RAG) system from scratch, following a structured curriculum.
To get started with the course:
- Clone this repository:
git clone https://github.com/CarlosCaris/practicos-rag.git
- Create a virtual environment
python -m venv .venv
- Activate the environment
# On Mac .venv/bin/activate # On Windows .venv\Scripts\activate
- Install requirements
pip install -r requirements.txt
This repository contains the materials and code needed to build a complete Retrieval-Augmented Generation (RAG) system. A RAG system combines the strengths of large language models with an external knowledge base to improve the accuracy and relevance of generated responses. Throughout this course, you'll gain hands-on experience with the various components of a RAG system, from document chunking to deployment in the cloud.
- Objective: Understand the fundamentals of RAG and its applications.
- Topics:
- Overview of RAG systems
- Challenges in large language models (e.g., hallucinations, outdated information)
- Basic components of a RAG system
- Practical Task: Set up your development environment and familiarize yourself with the basic concepts.
- Resources:
- Basics
- More concepts
- Objective: Learn how to effectively segment documents for better retrieval performance.
- Topics:
- Chunking techniques: token-level, sentence-level, semantic-level
- Balancing context preservation with retrieval precision
- Small2Big and sliding window techniques
- Practical Task: Implement chunking strategies on a sample dataset.
- Resources:
- The five levels of chunking
- A guide to chunking