π Multiple-RAG-Systems is a comprehensive collection of Retrieval-Augmented Generation (RAG) implementations, designed for various levels of complexity. It features basic RAGs, advanced RAGs, and a simple RAG implementation using LlamaIndex. This repository serves as a go-to resource for developers exploring different RAG techniques using LangChain, LangGraph, Firecrawl, Crawl4AI, Qdrant, Groq, Mistral, Tavily Search, and more.
The Basic RAGs folder contains foundational RAG implementations tailored for different use cases:
rag_streamlit.py
β A document-based RAG system with a Streamlit UI for easy interaction.
search_rag.py
β A search-based RAG that retrieves information from the internet and generates responses.
rag_webbased.py
β A URL-based RAG that processes and generates responses from web content.
The Advanced RAGs folder contains sophisticated implementations in Jupyter notebooks:
- Implements an Agentic RAG using LangChain and LangGraph with tool integration.
- Advanced Agentic RAG with reranking, multiquery retriever, and Tavily Search using LangChain and LangGraph.
- Checks document relevance and, if insufficient, modifies the query and performs a web search for better results.
- Implements multi-retriever fusion RAG using Firecrawl and Crawl4AI, stores results in Qdrant, and generates responses using Mistral.
- Demonstrates a GitHub Loader in LangChain and evaluates RAG outputs using Opik, Ragas, and Giskard.
- Showcases multiple reranking techniques for improving RAG responses.
- Generates multiple responses using multi-query techniques and selects the best one through scoring.
The With LlamaIndex folder contains a simple RAG implementation:
- A lightweight RAG setup using LlamaIndex for retrieval and response generation.
Clone the repository and install dependencies:
git clone https://github.com/yourusername/rag-library.git
cd rag-library
## π License
This project is licensed under the **MIT License**.
---
π **RAG-Library** β Powering intelligent and scalable Retrieval-Augmented Generation workflows!