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 是一个轻量级、模块化的 Python 库,旨在简化检索增强生成 (RAG) 的实现。它通过提供一个统一的工作流程,将文档检索与自然语言推理相结合,消除了构建上下文感知 AI 解决方案的复杂性,允许用户使用各种 LLM 与自己的文档(PDFs, TXT, code, 等)进行对话。
How it works
该库提供了一种模块化架构,用户可以轻松更换 LLM 提供商、嵌入模型和向量数据库。它处理来自本地文件夹或 GitHub 仓库的数据,将其索引到向量数据库中,并使用检索流水线将相关的上下文提供给 LLM 以生成答案。它还支持高级检索技术,如混合搜索 (BM25 + Semantic) 和用于多轮对话的查询重构。
Who it’s for
它适用于需要灵活、易于设置的 RAG 流水线,且不想承担沉重框架开销的 AI 应用开发者。它也适合非编程人员,通过其交互式 CLI wizard 和带有内置 Streamlit chat UI 的可部署 REST API。
Highlights
- LLM Agnostic: 支持广泛的提供商,包括 Ollama, OpenAI, Google Gemini, Mistral, AWS Bedrock, vLLM, 和 LMStudio。
- Hybrid Search: 将基于关键词的 BM25 检索与使用 Reciprocal Rank Fusion (RRF) 的密集向量搜索相结合。
- Agentic RAG: 包含一个基于智能体的流水线以提高 RAG 性能。
- MCP Integration: 允许通过 MCP 服务器添加外部工具能力,如代码执行或数据库访问。
- Flexible Ingestion: 支持从本地目录(带有可自定义的忽略文件夹)和 GitHub 仓库进行索引。
- Observability: 通过 Langfuse 实现集成的端到端追踪。
- Deployment Ready: 提供
raglight serve命令,可作为 FastAPI REST API 部署,并带有可选的 Streamlit UI。