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.
解决的问题
RAGLight 提供了一个轻量级、无依赖的工具包,用于构建检索增强生成 (RAG) 和代理流水线。它通过使用结构化协议(鸭子类型)而非严格的继承来解决框架依赖臃肿的问题,使开发者能够替换 LLM、向量数据库和嵌入模型,而无需被锁定在特定供应商的 SDK 中。
工作原理
该库构建在无依赖契约的核心之上。你可以通过实现简单的方法来定义组件(LLM、向量数据库等),也可以使用库内置的常见工具集成,如 OpenAI、Ollama、Chroma 或 Qdrant。流水线默认是无状态的,但支持基于会话的历史记录和对话查询重构。代理工作流由独立的 AgenticPipeline 处理,该流水线管理工具执行和决策循环。
适用人群
适用于希望以简洁、模块化且类型安全的方式构建 RAG 应用程序,同时又不想承担沉重且固执的框架开销的 Python 开发者。它特别适合那些偏好依赖注入并希望完全控制流水线组件的开发者。
亮点
- 零依赖核心:核心包没有任何第三方运行时依赖。
- 结构化协议:自定义组件无需继承特定的基类,使集成变得简单。
- 代理支持:包含用于代理工作流的专用命名空间,包括对 MCP (Model Context Protocol) 工具的支持。
- 灵活配置:支持用于代码优先工作流的直接对象注入,以及用于从 JSON 或 TOML 文件加载流水线的注册表支持配置。
- 原生追踪:内置与 Langfuse 的集成,可实现跨经典和代理 RAG 流水线的可观测性。
相关
- 项目
- 项目
- 项目
- 项目
- 项目