The-Vibe-Company/quivr
项目简介
quivr 是一个“有主见”的 RAG 解决方案,旨在让开发者将 GenAI 能力集成进现有应用时,可以完全聚焦于业务产品而非搜索增强的底层细节。它提供开箱即用的 API、可定制的 Web 前端,以及覆盖文件解析、嵌入、检索、对话的完整工具链,支持任意主流 LLM 与向量数据库,让团队在几小时内部署一个生产级 AI 问答助手。
技术亮点
- 极简接入体验:通过 Docker Compose 一键拉起全部依赖,后端提供 REST API,前端提供可嵌入的 React 组件;开发者无需理解 RAG 内部的分块、Embedding 或重排逻辑,即可在现有产品中添加智能问答。
- 模型与存储无关:抽象层同时支持 OpenAI GPT-4、Groq 驱动 Llama 等任意 LLM,向量库可在 PGVector、Faiss 等之间切换;配置通过环境变量声明,无需修改业务代码。
- 企业级数据隐私:默认支持私有化部署,数据库与向量存储均位于用户自己的环境中;支持用户/知识库级别的权限隔离,避免敏感资料外泄。
- 多格式文件解析:内置针对 PDF、Word、Markdown、TXT 等格式的解析管线,并自动处理分块与元数据提取,为后续检索提供高质量上下文。
- 易于定制的 API 层:提供直观的 Python/FastAPI 后端,同时暴露 Language Server Protocol 风格的接口,开发者可轻松覆盖默认的 Prompt 模板或嵌入模型。
架构解析
quivr 整体分为三个核心层:前端 React 应用(提供聊天界面、文件上传与管理界面)、后端 API 服务(FastAPI 处理 HTTP 请求、权限校验、对话轮次管理)、以及基础数据层(PostgreSQL 存储用户和知识库元数据,PGVector 作为主向量索引,Faiss 可作后备)。后端内部还包含一个异步任务队列,负责文件解析、分段、向量化入库等耗时操作;对话时则通过“检索 → 重排序 → 生成”的标准流水线,将检索结果拼入 Prompt 后调用 LLM,并返回引用来源。整个系统采用模块化依赖注入,使得替换 LLM 或向量库只需调整配置。
适用场景
- 企业知识库问答:为内部员工提供基于公司制度、产品文档的自然语言检索工具,支持细粒度权限控制。
- SaaS 产品内嵌 AI 助手:在 SaaS 界面中直接嵌入 quivr 前端组件,让用户围绕自己的私有数据进行对话,提升产品附加值。
- 文档密集型行业助手:法律、医疗等场景下,对海量 PDF/Word 进行快速定位与引文溯源,并确保数据不出内网。
- 个人知识管理平台:作为自托管的 AI 第二大脑,可接入个人笔记、电子书及本地文件,实现跨格式智能检索。
- 多租户业务系统:通过知识库级隔离,为不同客户提供独立命名空间,适合面向 B 端的数据问答服务。
生态对比
- 与 LangChain:LangChain 是通用编排框架,提供大量灵活组件,但需要开发者自行组装链条;quivr 则是一个“有主见”的完整应用,内置了最佳实践的 RAG 流程,更专注于开箱即用的集成。
- 与 Dify / FastGPT:这些平台偏向低代码工作流编排,通常需要将数据导入平台专属数据库或调用其云服务;quivr 更强调嵌入现有产品的能力,通过标准 API 和前后端分离设计,方便作为自托管微服务存在。
- 与自建向量检索方案:若直接使用 pgvector 或 Faiss 自研,需要额外处理文件解析、分块策略和 LLM 调用;quivr 将这些步骤封装成统一服务,极大缩短了验证与上线周期。