Bessouat40/RAGLight
RAGLight is a modular framework for Retrieval-Augmented Generation (RAG). It makes it easy to plug in different LLMs, embeddings, and vector stores, and now includes seamless MCP integration to connect external tools and data sources.
What it solves
RAGLight is a lightweight, modular Python library designed to simplify the implementation of Retrieval-Augmented Generation (RAG). It removes the complexity of building context-aware AI solutions by providing a unified workflow to combine document retrieval with natural language inference, allowing users to chat with their own documents (PDFs, TXT, code, etc.) using various LLMs.
How it works
The library provides a modular architecture where users can easily swap LLM providers, embedding models, and vector stores. It processes data from local folders or GitHub repositories, indexes them into a vector database, and uses a retrieval pipeline to feed relevant context to an LLM for answer generation. It also supports advanced retrieval techniques like hybrid search (BM25 + Semantic) and query reformulation for multi-turn conversations.
Who it’s for
It is intended for developers building AI applications who need a flexible, easy-to-setup RAG pipeline without the overhead of heavy frameworks. It is also suitable for non-coders via its interactive CLI wizard and a deployable REST API with a built-in Streamlit chat UI.
Highlights
- LLM Agnostic: Supports a wide range of providers including Ollama, OpenAI, Google Gemini, Mistral, AWS Bedrock, vLLM, and LMStudio.
- Hybrid Search: Combines keyword-based BM25 retrieval with dense vector search using Reciprocal Rank Fusion (RRF).
- Agentic RAG: Includes an agent-based pipeline to improve RAG performance.
- MCP Integration: Allows adding external tool capabilities like code execution or database access via MCP servers.
- Flexible Ingestion: Supports indexing from local directories (with customizable ignore folders) and GitHub repositories.
- Observability: Integrated end-to-end tracing via Langfuse.
- Deployment Ready: Provides a
raglight servecommand to deploy as a FastAPI REST API with an optional Streamlit UI.