finds.dev← search

// the find

Bessouat40/RAGLight

★ 672 · Python · MIT · updated Sep 2026

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.

RAGLight is a Python RAG framework that wraps together embeddings, vector stores, and LLM providers (Ollama, OpenAI, Mistral, Gemini, Bedrock, LMStudio, vLLM) behind a Builder/Config API, plus a CLI wizard and a FastAPI server mode. It's aimed at people who want a RAG pipeline without wiring LangChain/LlamaIndex primitives by hand, and increasingly at agentic RAG with MCP tool access.

Hybrid search is a real feature, not a checkbox — BM25 + dense vectors merged with RRF, available on both Chroma and Qdrant backends. The `raglight serve` command gives you a working FastAPI + optional Streamlit UI configured entirely from env vars, which is more useful out of the box than most RAG libraries that only ship a Python API. Query reformulation for multi-turn follow-ups and conversation history with a `max_history` cap are handled for you across every provider, which is normally a hand-rolled piece of glue code.

The provider matrix (7 LLM backends × 5 embedding backends × 2 vector stores) is a lot of surface area for one maintainer to keep correct — expect uneven testing depth on the less common combinations like Bedrock or Gemini embeddings. Vector store choice is limited to Chroma and Qdrant; no pgvector, Pinecone, or Weaviate despite the 'plug in anything' pitch. The README's breadth (VLM PDF processing, Langfuse tracing, MCP, agentic pipelines, hybrid search, streaming) reads like feature accretion rather than a hardened core, and there's no mention of async I/O anywhere, which matters if you're actually running `serve` under real concurrency.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →