Skip to main content
最新研究:当电路消解时 →12 vindexes on Hugging Face
申请演示

RAG 路由 — 一个 API,多种架构

RAG 路由

一个 API 端点。十种受支持的检索架构。路由器从您的历史查询流量中学习,并将每个新问题分派到最有可能正确回答它的后端——以仍能通过您质量基线的最低成本完成。

与我们交流 阅读深度解析 →

三种架构,从概念上看

大多数生产级 RAG 系统只发布一种检索架构,就此收工。我们发布的是一个能够在架构上截然不同的技术栈之间进行选择的路由器——对您语料库中的每个查询而言,正确选择很少是同一个。

Tier 1 · 扁平向量 RAG
FAST & CHEAP
embed → cosine top-k
→ stuff context
→ generate

最适合

单一事实查找、FAQ 形式的查询,以及在扁平切块语料库上"X 是什么?"类型的问题。

延迟:< 300 ms p95成本:每次查询数美分后端:Qdrant · Cloudflare · Vertex · MongoDB · Redis
Tier 2 · 混合 + 重排
BALANCED
BM25 lexical + dense vector
→ Reciprocal Rank Fusion
→ cross-encoder reranker
→ generate

最适合

词法信号与语义信号产生分歧的查询——代码、名称、首字母缩略词、技术词汇、错误字符串。

延迟:约 800 ms成本:仍然较低当前:可组合的工作流节点 · 自动路由在路线图上
Tier 3 · 页面索引 + 智能体
DEEP & DELIBERATE
hierarchical TOC tree built
at ingest → agent walks tree
→ opens / reads sections
→ generate

最适合

对长篇结构化文档的多跳阅读——法律合同、财务 10-K、上下文跨越非相邻章节的技术 PDF。

延迟:数秒级成本:最高——但仅在必要时使用后端:PageIndex · RAPTOR · LightRAG · neo4j-hybrid

路由器实际上是如何决策的

大多数已发表的 RAG 路由器会预先按复杂度对查询进行分类。我们的不会。我们采用学习式路由:每个成功的查询都会与回答它的后端一起存储,新查询通过 embedding 相似度与该历史进行匹配。

查找算法——每次查询都会运行

  1. 对问题进行哈希,使用 SHA-256 截断为 16 字符的键,并在 Cloudflare KV 中按客户检查路由存储是否存在完全相同的先前匹配。如果之前已回答过,立即分派到上次表现最好的后端。
  2. 未命中时,对问题进行 embedding,并对历史问题 embedding 的缓存索引进行余弦搜索。如果最近邻的相似度超过 0.88,则分派到其关联的后端。
  3. 如果没有匹配项超过阈值,则回退到客户为该语料库设置的默认后端。
  4. 答案渲染完成后,(问题哈希、后端、质量分数)三元组将被写回该客户的路由历史存储,为后续查找播种。
为什么用"学习"而不是"分类"?从经验上看,相同形式的查询在不同语料库上的表现并不一样。"跨 Y 比较 X"在法律合同上需要 Tier 3 页面索引遍历;同样的形式在扁平 FAQ 语料库上 Tier 1 就够用。让路由模型从历史证据出发按语料库学习这一区别,而不是从查询语法上猜测,才是真正可落地的设计选择。

我们今天在十种后端之间路由

路由器会分派到十个命名后端之一。其中三个是"Tier 3 形态"(层级或图增强);其余是纯向量引擎,我们视为具有不同运维取舍的 Tier 1。

PI
pageindex层级 TOC 树 + 智能体遍历。Tier 3 的原型。
RT
raptor对递归摘要的文档层级进行树遍历检索(ICLR 2024)。
neo4j-hybrid图增强检索,将向量 embedding 与显式的实体/关系结构相结合。
LR
lightrag扁平图双模式检索——实体 + 社区搜索,源自港大 LightRAG 方法。
qdrant自托管稠密向量引擎,面向高吞吐、低延迟查找。
cloudflare-v2边缘端 Vectorize——来自 Cloudflare 全球网络的 sub-300 ms p95。
couchbase-byok面向已有运维依赖的客户的自带 Couchbase 向量存储。
vertex-ai-vector-search-v2面向使用 Google 数据栈的客户的 Google Cloud Vertex AI 向量搜索。
mongodb-atlas面向在 MongoDB 上运行文档数据的客户的 Atlas Vector Search。
redis-vector-search面向超低延迟内存检索负载的 Redis 向量搜索。

Tier 2(BM25 + 稠密融合 + cross-encoder 重排)今天作为可组合节点在我们的工作流画布中上线。当按语料库的路由数据证明合理时,自动路由器将接下来对其支持。

API 表层——一个端点,审计级透明度

路由器对调用方是不可见的。一种请求形态;响应中包含路由决策,方便您审计是哪个后端回答(以及为什么)。

# 一个端点。路由器决定使用哪个后端。
curl -X POST https://api.divinci.app/v1/rag/query \
  -H "Authorization: Bearer $DIVINCI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "question": "What clauses in the 2024 amendment override section 7.3?",
    "corpus":   "legal-contracts-q4"
  }'
# 响应——智能体用于支撑答案的文本块。
{
  "items": [
    {
      "content":  "Section 7.3 is superseded by …",
      "metadata": { "doc": "amendment-2024.pdf", "section": "II.4.b" },
      "score":    0.91
    }
    /* … */
  ],
  "routing": {
    "backend":      "pageindex",           // 分派至 tier-3 page-index
    "match_source": "learned-history",     // arena · auto-fix · 或 fallback
    "similarity":   0.92,                  // ≥ 0.88 阈值
    "ttl_remaining":"23d 14h"              // 重新基准评估前的新鲜度窗口
  }
}

目前 routing 元数据在内部记录,并通过审计轨迹对外暴露。内联响应交付将在 2026 年第三季度逐步推出。

与现有路由器的差异

RAG 路由并非新想法——Adaptive-RAG 和 Probing-RAG 这类学术路由器已经按复杂度对查询进行分类。差异之处在于 Divinci 在架构上截然不同的检索栈之间路由,从您自身的流量中学习,并置于单个托管端点之后。

方案在什么之间路由路由轴是否托管?
Divinci RAG Routing10 个后端(PageIndex、RAPTOR、LightRAG、neo4j、6 个向量引擎)架构 · 从历史中学习是——单一端点
LlamaIndex RouterRetriever自带检索器LLM/Pydantic 选择器否——需自行组装的库
Adaptive-RAG (Jeong et al.)无检索 / 单步 / 迭代深度 · 查询复杂度分类器研究项目
Cloudflare AI Search(前 AutoRAG)一条混合流水线无路由
AWS Bedrock Knowledge Bases一条混合流水线无路由
Azure AI Search Agentic Retrieval混合 + 单独的智能体模式用户手动选择模式
VectifyAI PageIndex单一架构(层级遍历)无路由开源独立项目

我们叙述中的诚实弱点:按查询进行 RAG 路由作为一个概念并不新鲜。我们没有发明路由。真正的差异在于以下三点的组合:(a)在架构上截然不同的栈之间路由,而非深度变体;(b)将 PageIndex / RAPTOR / LightRAG 风格的层级遍历作为一等后端纳入,而非单独的产品;(c)一个托管端点,而非一个需要您自己组装并运维的库。

路由偏好是如何被播种的

您的路由模型不是预训练的——它从您的流量中学习。三种信号会写入路由历史存储。

  1. Arena 选择。通过 RAG Arena 在多个后端之间运行某个查询,对各变体并排打分,挑出获胜者。(问题、获胜后端)对将进入路由存储。
  2. Auto-fix 输出。当我们的 auto-fix 在摄取或定期审计期间对代表性查询运行对比检索时,每个查询表现最好的后端会被写入同一存储。
  3. 生产反馈。成功的查询(即通过我们的在线评估闸门得分高于您质量阈值的查询——参见回归测试文章)在请求时将其(问题哈希、后端)对写回路由存储,TTL 为 30 天,确保路由模型随语料库演进保持新鲜。
哪些环节真正达到生产级,哪些仍在路线图上:第 1 步和第 2 步今天已上线。第 3 步的自动反馈循环已部分上线——成功的查询会写回,但 Tier 2(BM25 + RRF + reranker)目前作为工作流节点组合使用,尚未自动路由。当路由数据明显显示其胜出条件时,我们会将 Tier 2 纳入自动路由器。

这项能力在什么时候最重要

查询形态统一的同质语料库收益有限——手动选一个后端就够了。真正的契入点在于混合语料库与混合查询形态。

一个法律团队既会问"我们标准合同中不可抗力的定义是什么?"(Tier 1,sub-300 ms),又会问"在我们 47 份供应商合同中,哪些有非标准的终止条款,模式是什么?"(Tier 3,多秒级 page-index 遍历),他们不想只选一个后端。他们希望简单问题快速且廉价地返回,深度问题即使代价更高也能正确返回——而无需运维两套栈。

这正是一个跨架构差异化后端进行路由的托管端点真正发挥价值的场景。如果您的流量是统一的,您并不需要它。如果您的流量是混合的——大多数真实企业语料库都是——那您需要它。