Jupyter notebooks for RAG technique implementations
Top 23.2% on sourcepulse
This repository provides a hands-on, educational implementation of over 20 Retrieval-Augmented Generation (RAG) techniques using fundamental Python libraries. It targets developers and researchers seeking to understand and experiment with RAG without relying on heavy frameworks, offering clear, modifiable code for demystifying advanced concepts.
How It Works
The project breaks down RAG into modular Jupyter Notebooks, each demonstrating a specific technique from basic retrieval to advanced methods like Self-RAG and Fusion RAG. Implementations are built from scratch using libraries like NumPy and OpenAI's API for embeddings and generation, emphasizing readability and educational value. It utilizes cosine similarity for vector search within a custom NumPy-based vector store.
Quick Start & Requirements
pip install -r requirements.txt
OPENAI_API_KEY
environment variable (Nebius AI API key required).AI_Information.pdf
, attention_is_all_you_need.pdf
, val.json
) is included.Highlighted Details
Maintenance & Community
The repository is actively updated, with recent additions including RL-based RAG and a best RAG finder. Contributions are welcomed.
Licensing & Compatibility
The repository does not explicitly state a license in the README. Compatibility for commercial use or closed-source linking is not specified.
Limitations & Caveats
The project relies on an OpenAI API key (specifically Nebius AI), which may incur costs. The absence of a specified license could pose restrictions on usage and distribution.
1 month ago
1 week