
R2R(RAG to Riches)是 SciPhi-AI 开源的生产级 RAG 引擎,MIT 许可。它把原本需要手工拼接的嵌入模型、向量库、重排器、分块器、Agent 循环等组件,统一封装在一个 RESTful API 服务背后,提供 Python / JavaScript SDK 。
核心能力:多模态摄入(txt/pdf/json/png/mp3 等)、混合搜索(语义+关键词 RRF 融合)、自动知识图谱抽取(GraphRAG)、Agentic Deep Research API、用户与文档管理、可观测性、开源 React+Next.js Dashboard 。
官方明确定位:”The Supabase for RAG” ——它是 RAG 分类中“生产级 RAG 服务底座”子类的代表作,与 FastGPT(企业级 Agent 构建平台)、RAGFlow(深度文档解析引擎)、Onyx Cloud(企业搜索 AI 平台)、PrivateGPT(隐私离线文档 RAG)、PaperQA2(科研文献高精度 RAG 库)形成清晰的差异化。
产品概述
R2R 由 SciPhi-AI 团队开发,官方 GitHub 描述:”R2R was designed to bridge the gap between local LLM experimentation and scalable, production-ready Retrieval-Augmented Generation (RAG) applications” 。它要解决的行业痛点非常明确——大多数 RAG 教程止于”50 行代码跑通语义搜索 demo”,而从原型到生产需要数月基础设施工作:用户认证、文档级权限、集合管理、混合搜索、API 限速、可观测性 。
核心定位哲学:
R2R 官方把自己类比为”The Supabase for RAG” ——就像 Supabase 把数据库/认证/存储/边缘函数打包成开箱即用的后端服务,R2R 把完整 RAG 技术栈打包成开箱即用的后端服务。技术文章精准概括:”Think of it as the difference between React (a library you build with) and Next.js (a framework with opinions and infrastructure). R2R makes architectural decisions for you” :
- PostgreSQL 存储元数据
- pgvector 存储嵌入向量
- FastAPI 提供 REST 层
- Pipeline 架构处理文档
它做什么 / 不做什么(关键归类):
- ✅ 做:作为服务端运行 → 接收文档摄入请求 → 解析/分块/嵌入/存入 pgvector → 接收检索/问答请求 → 混合搜索(向量+全文 RRF 融合)→ 可选知识图谱检索 → Agentic 多步推理 → 通过 LLM 生成带引用的答案 → 通过 REST API 返回
- ❌ 不做:不提供可视化工作流编排器(这是 FastGPT 的能力)、不做深度文档解析优化(这是 RAGFlow 的能力)、不提供企业搜索 40+ 连接器(这是 Onyx Cloud 的能力)、不面向最终业务用户(是面向开发者的 API 引擎)
- 本质是生产级 RAG 服务底座:它是 RAG 分类中唯一的”RESTful API 优先的生产级 RAG 引擎”——LangChain/LlamaIndex 是框架(你需要自己搭服务),R2R 是完整的 RAG 应用(你部署就能用)。
技术架构 :
R2R 架构围绕三大核心抽象 :
- Providers(提供者):可插拔实现,包括 Vector DB Provider(PGVector/SQLite)、Embedding Provider(OpenAI/SentenceTransformers)、LLM Provider(OpenAI/LiteLLM)、Prompt Provider、Eval Provider
- Pipes(管道):数据处理工作流中的单个步骤,可组合复用。包括 Parsing Pipe、Embedding Pipe、Vector Storage Pipe、Search Pipe、RAG Pipe、Streaming RAG Pipe、Eval Pipe
- Pipelines(流水线):多个 Pipe 按序组成,包括 Ingestion Pipeline、Embedding Pipeline、RAG Pipeline、Eval Pipeline
存储架构(关键创新):
R2R 本质上是 Postgres 之上的一个 thin, opinionated service layer 。所有需要持久化的数据——原始文档、分块文本、嵌入向量、全文索引(tsvector)、抽取的实体/关系、图谱社区——都生活在同一个 PostgreSQL 数据库中(通过 pgvector 扩展)。这相比”单独的向量库 + 单独的图库 + 单独的元数据存储”极大简化了运维 。
部署拓扑 :
- Light 模式:
pip install r2r && python -m r2r.serve,单进程服务,适合本地开发和轻量生产 - Full 模式:
docker compose -f compose.full.yaml --profile postgres up -d,API 服务 + PostgreSQL(pgvector)+ Hatchet(编排/队列)+ R2R Dashboard 全套
核心能力矩阵:
| 能力 | 实现细节 |
|---|---|
| 多模态摄入 | 解析 .txt/.pdf/.json/.png/.mp3 等,图片与音频支持 |
| 混合搜索 | 语义搜索(pgvector 稠密向量)+ 关键词搜索(Postgres tsvector 全文),RRF(Reciprocal Rank Fusion)融合 |
| 重排 | 融合候选集可传交叉编码器重排器(BGE Reranker 风格) |
| 知识图谱(GraphRAG) | 自动抽取实体与关系 → 存 Postgres → 社区检测(图聚类)→ 社区摘要生成,支持跨文档”全局”问题 |
| Agentic RAG / Deep Research | 智能体多步推理:决定何时搜索、发出后续查询、综合证据生成答案;Deep Research API 扩展至从知识库和互联网获取数据 |
| 用户与文档管理 | 完整认证、集合(Collection)管理、文档版本控制 |
| 可观测性 | 观察与分析 RAG 引擎性能 |
| Dashboard | 开源 React+Next.js 管理面板,可选认证 |
| SDK | 一流支持的 Python SDK 与 JavaScript/TypeScript SDK |
许可策略:MIT 许可证 ,允许商用、修改、分发,无 copyleft 限制,可在专有产品中再分发 。
💡 与同层 RAG 项目的关键差异:
- vs FastGPT:FastGPT 是”企业级 Agent 构建平台”,可视化工作流编排+知识库 RAG,面向业务用户;R2R 是”生产级 RAG API 引擎”,RESTful API 优先,面向开发者
- vs RAGFlow:RAGFlow 是”深度文档理解的开源 RAG 引擎”,擅长复杂文档(PDF/Word/扫描件)的精准解析;R2R 是通用生产级 RAG 服务,文档解析依赖集成(如 Unstructured.io/Docling 风格)
- vs Onyx Cloud:Onyx Cloud 是”企业搜索 AI 平台”,40+ 连接器接入各种数据源;R2R 是 RAG 引擎底座,连接器需自行集成
- vs PrivateGPT:PrivateGPT 是”隐私优先离线文档 RAG”,强调零外部依赖;R2R 默认需要外部 LLM/嵌入 API(也支持 Ollama 本地模型)
- vs PaperQA2:PaperQA2 是科研文献垂直 RAG 库;R2R 是通用生产级 RAG 引擎
- vs LangChain/LlamaIndex:它们是框架(你需要自己搭服务);R2R 是完整的可部署 RAG 应用(部署即用)
核心能力
-多模态摄入(Multimodal Ingestion)
- 支持格式:.txt、.pdf、.json、.png、.mp3 等
- 异步摄入:大文档返回 task 可轮询,不阻塞请求
- 复杂 PDF/表格解析:集成 Docling 风格的文档解析器
- 音频转写:支持音频文件摄入
-混合搜索(Hybrid Search)
- 语义搜索:pgvector 稠密向量相似度
- 关键词搜索:PostgreSQL tsvector 全文检索
- RRF 融合:Reciprocal Rank Fusion 算法融合两套排名(
1/(k+rank)求和),无需两个分数在同一尺度 - 元数据过滤:可按 metadata、collection、document 过滤
- 交叉编码器重排:融合候选集可传 BGE Reranker 风格的重排器
-知识图谱与 GraphRAG
- 自动实体抽取:从摄入文档中自动抽取实体与关系
- 图存储:知识图谱存储在 PostgreSQL 中
- 社区检测:图聚类算法分组相关实体
- 社区摘要:生成社区摘要,支持跨文档”全局”问题检索
- 显式 opt-in:图构建是 LLM 成本密集型操作,需通过 graphs API 显式启用
-Agentic RAG 与 Deep Research
- Agent 多步推理:智能体决定何时搜索、发出后续查询、综合证据生成答案
- Deep Research API:多步推理系统,可从知识库和/或互联网获取相关数据
- 引用溯源:答案返回底层来源引用
- Extended Thinking:支持扩展思考模式
-应用管理
- 用户认证:完整用户管理系统
- 集合管理:Collection 分组文档与共享访问控制,开箱即用的多租户
- 文档版本控制:文档版本管理
- OpenAI 风格 API 表面:熟悉接口降低学习曲线
-可观测性与 Dashboard
- 可观测性:观察和分析 RAG 引擎性能
- R2R Dashboard:开源 React+Next.js 管理面板,可选认证
-高度可配置与可扩展
- Providers 插件系统:数据库、嵌入、编排、文件存储、OCR、加密均可通过可插拔 Providers 替换
- 多种编排策略:Simple 与 Hatchet-based
- Builder + Factory 模式:易于二次开发
- 配置文件驱动:直观的配置文件配置应用
-双模式部署
- Light 模式:
pip install r2r && python -m r2r.serve,单进程服务 - Full 模式:Docker Compose 全套(API + PostgreSQL/pgvector + Hatchet + Dashboard)
-SDK 与 API
- RESTful API:核心交互方式
- Python SDK:
r2r包,同步与异步客户端 - JavaScript SDK:
r2r-js包 - 核心端点:
documents.create、retrieval.search、retrieval.rag、retrieval.agent
优势亮点
- MIT 最干净许可:与 PaperQA2 同属最宽松许可阵营,允许商用、修改、分发,无 copyleft
- “RAG 的 Supabase”定位:开箱即用的生产级 RAG 服务,大幅缩短原型到生产的时间
- Postgres 单一后端:文档、向量、全文索引、知识图谱统一存储在 PostgreSQL+pgvector 中,运维极简
- 混合搜索 RRF 融合:语义+关键词并行检索,RRF 融合排名,检索质量高
- GraphRAG 知识图谱:自动实体/关系抽取+社区检测+社区摘要,支持跨文档全局问答
- Agentic Deep Research:多步推理 API,可从知识库和互联网获取数据,返回引用
- 多模态摄入:文本/PDF/JSON/图片/音频统一处理
- 用户与文档管理:完整认证、集合、版本控制,开箱即用多租户
- 双模式部署:Light 单进程开发,Full Docker Compose 生产,5 分钟到生产部署
- 一流 SDK:Python + JavaScript 双 SDK,OpenAI 风格 API 表面
- ~7.9K GitHub Stars:生产级 RAG 引擎中社区认知度最高之一
- 可观测性 + Dashboard:开源 React+Next.js 管理面板
局限
- 自己不执行推理:R2R 是 RAG 引擎,需要外部 LLM API Key(OpenAI/Anthropic 等)或本地 Ollama
- 知识图谱构建成本高:实体抽取是 LLM 成本密集型操作,大规模文档图谱构建需规划批量处理与成本控制
- Agentic 推理增加延迟:Deep Research 多步推理与图谱构建增加处理开销,严格亚 100ms 延迟场景不适合
- 默认用户/认证外仍需生产加固:RESTful API 设计便于客户端集成,但默认用户/集合系统之外需自定义认证/授权逻辑
- Python 生态为主:核心代码与文档 Python 聚焦,JavaScript SDK 存在但多语言团队需评估契合度
- 向量库选择影响成本:虽默认 PGVector,但 Pinecone/Qdrant/Milvus 等选择影响成本、延迟与维护负担
- Full 模式部署负担:完整部署需要 Docker、PostgreSQL、向量库、LLM API Keys,最小基础设施预算受限环境有摩擦
- 无可视化工作流编排:不像 FastGPT 那样提供业务级可视化 Agent 工作流编排器,R2R 是 API 引擎
- 无 40+ 企业连接器:不像 Onyx Cloud 那样内置丰富数据源连接器,需自行集成
- 无商业支持 SLA:开源项目,无文档化的商业支持层级,需 SLA 的组织需评估商业替代方案
- Python ≥ 3.10 要求:Light 模式环境要求
适用人群
- 企业知识库搜索:组织需要在内部文档(PDF/文本/图片)上做带引用的语义搜索,监管/法律/技术文档检索场景
- 复杂多步问答应用:需要智能体跨多文档或外部数据源推理后生成答案的应用
- 大规模多模态摄入系统:处理多样化内容类型(音频、图像、PDF、JSON、文本)的平台
- 需要生产级 RAG API 的团队:不想自己拼装嵌入+向量库+重排器+分块器+Agent 循环的开发者
- GraphRAG 知识图谱需求:需要从文档集合自动构建知识图谱、做跨文档全局问答的团队
- Deep Research 多步推理需求:市场分析、政策研究、技术调查等需要多步推理的工作流
- 多租户 RAG SaaS 构建者:R2R 的集合与用户管理开箱即用多租户
- AI 应用开发者:需要 OpenAI 风格 API 表面、Python/JS 双 SDK 的快速集成
安装与部署
1. 环境要求
- Python ≥ 3.10(Light 模式)
- Docker + Docker Compose(Full 模式)
- 外部 LLM API Key(OpenAI/Anthropic 等)或本地 Ollama 服务
- PostgreSQL + pgvector(Full 模式自动通过 Docker 提供)
2. Light 模式(本地开发,5 分钟尝鲜)
# 安装 pip install r2r # 设置 API Key export OPENAI_API_KEY=sk-... # 启动服务 python -m r2r.serve # 访问 http://localhost:7272
3. Full 模式(生产部署)
# 克隆仓库 git clone https://github.com/SciPhi-AI/R2R.git cd R2R # 设置环境变量 export R2R_CONFIG_NAME=full export OPENAI_API_KEY=sk-... # 启动全套服务(API + PostgreSQL/pgvector + Hatchet + Dashboard) docker compose -f compose.full.yaml --profile postgres up -d # 启动后各服务地址: # R2R API: http://localhost:7272 # Dashboard: http://localhost:7273 # PostgreSQL: localhost:5432
4. 本地模型配置(Ollama)
# Full 模式使用本地 Ollama export OLLAMA_API_BASE=http://host.docker.internal:11434 export CONFIG_NAME=local_ollama docker compose up -d
5. Python SDK 使用
from r2r import R2RClient
# 连接客户端
client = R2RClient("http://localhost:7272")
# 登录(如启用认证)
client.login("user@example.com", "password")
# 摄入文档(含元数据与集合分配)
result = client.ingest_files(
file_paths=["./research_paper.pdf"],
metadatas=[{
"title": "Attention Is All You Need",
"year": 2017,
"department": "research"
}],
document_ids=["doc_transformer_paper"],
collection_ids=["ai_research_collection"]
)
# 基础搜索
results = client.retrieval.search(query="What is DeepSeek R1?")
# 带引用的 RAG
response = client.retrieval.rag(query="What is DeepSeek R1?")
# Agentic Deep Research
agent_response = client.retrieval.agent(
query="Analyze the competitive landscape of RAG frameworks"
)
6. 知识图谱构建(GraphRAG)
# 通过 graphs API 显式启用图谱构建
client.graphs.extract(
collection_id="ai_research_collection"
)
# 社区检测与摘要自动进行
# 之后可针对跨文档全局问题进行图谱感知检索
7. 部署前必检清单
- 确认仓库位于
github.com/SciPhi-AI/R2R(官方) - 许可:MIT ,商用无限制
- 严格属于 RAG 分类,“生产级 RAG 引擎/服务底座”子类
- 官方定位:”The Supabase for RAG” ——开箱即用的生产级 RAG 服务
- 最新版本:v3.6.5(2025-06-06)
- 技术栈:Python / FastAPI / PostgreSQL + pgvector / Hatchet 编排
- 架构抽象:Providers(可插拔)+ Pipes(可组合)+ Pipelines(编排)
- 核心能力:多模态摄入、混合搜索(RRF 融合)、知识图谱(GraphRAG)、Agentic Deep Research、用户管理、可观测性、Dashboard
- 部署:Light 模式(单进程)/ Full 模式(Docker Compose 全套)
- SDK:Python(
r2r)+ JavaScript(r2r-js),OpenAI 风格 API 表面 - 社区规模:~7.9K GitHub Stars
- 外部依赖:LLM API Key(OpenAI/Anthropic 等)或本地 Ollama
- 与 FastGPT(可视化工作流平台)、RAGFlow(深度文档解析)、Onyx Cloud(企业搜索)、PrivateGPT(离线隐私 RAG)、PaperQA2(科研文献 RAG)差异化明确
- Agentic 推理增加延迟,严格亚 100ms 场景不建议;知识图谱构建 LLM 成本较高,需批量处理规划
相关导航


Cohere Coral

AnythingLLM

PrivateGPT

Vectara

PaperQA2

