superlinear-ai/raglite

🥤 RAGLite is a Python toolkit for Retrieval-Augmented Generation (RAG) with DuckDB or PostgreSQL

解决的问题

RAGLite 是一个轻量级的 Python 工具包,旨在简化 Retrieval-Augmented Generation (RAG) 流水线的实现。它消除了 LangChain 和 PyTorch 等重型框架的复杂性,提供了一种简化的方式,将 LLM 与向量和关键词搜索数据库集成,使 AI 响应基于特定文档进行锚定。

如何工作

该工具包允许用户配置 LLM 提供商(通过 LiteLLM)和数据库(DuckDB 或 PostgreSQL)。它通过将文档转换为 Markdown,应用语义分块,并创建多向量嵌入来处理文档。在检索方面,支持混合搜索(结合关键词和向量搜索)和重排序,以找到最相关的内容。它还具备“自适应检索”功能,LLM 可根据用户查询自主决定是否以及检索什么内容。

适用人群

适用于希望在不使用大型 ML 框架开销的情况下,快速、宽松且可扩展地实现 RAG 的开发者,也适用于希望将其知识库与 Claude Desktop 等 MCP 客户端集成的开发者。

主要亮点

  • 灵活的后端:支持 DuckDB 和 PostgreSQL 用于存储,通过 LiteLLM 实现 LLM/嵌入提供者的灵活性。
  • 高级分块:实现延迟分块、上下文分块标题和使用二进制整数规划的最优语义分割。
  • 自适应 RAG:LLM 可根据提示自主决定何时触发检索。
  • MCP 集成:内置 Model Context Protocol 服务器,可连接 Claude Desktop 等 AI 客户端。
  • 优化性能:具备感知提示缓存的结构和闭式线性查询适配器,以提升检索质量。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目