Skip to content

RAG 系统技术手册:从检索参数体系到向量与图谱知识库的选型 ​

文档定位:整合 RAG 检索层的核心参数机制(Top N、相似度阈值、向量相似度权重、关键词相似度),并在此基础上引入图谱知识库(Graph RAG)作为对照范式,帮助读者建立从「参数调优」到「架构选型」的完整认知框架。

阅读路线 ​

全文按认知层次分两篇,两篇回答的是不同层级的问题,不要混着看:

篇章回答的问题覆盖内容前提假设
基础篇在向量范式内部,参数怎么调?Top N、相似度阈值、向量相似度权重、BM25 等关键词信号默认「知识被切分为文本片段、检索即找最相似片段」
拓展篇向量范式本身够用吗?Graph RAG 的机制、对比、性能数据、选型与混合路由质疑上述前提,引入实体-关系表示

为什么这样分层:参数调优的逻辑,在图谱检索中会发生根本性变化。先把向量范式内部的参数关系捋顺,才能看清「哪些问题调参能解决、哪些问题调参永远解决不了」。


第一篇 · 基础:向量检索的参数体系 ​

1. 检索层是 RAG 的天花板 ​

RAG(Retrieval-Augmented Generation)的核心逻辑是:用户提问时,先从外部知识库中检索出相关资料,再将这些资料交给大语言模型(LLM)生成答案。

检索层的质量直接决定了 LLM 能看到什么、看不到什么——检索失败,生成层再强也无从补救。

检索层要回答的根本问题是:

给定一个问题,应该把知识库中的哪些内容交给模型?

向量知识库和图谱知识库是这个问题的两种不同回答方式。本篇只讨论第一种回答方式内部的调参问题。

2. 核心参数:Top N 与相似度阈值 ​

在向量检索中,Top N(Top K) 和 相似度阈值(Similarity Threshold) 是控制检索质量最关键的两个参数。它们从不同维度对检索结果进行裁剪,目标是在召回率与精确率之间找平衡。

2.1 两者到底管什么 ​

参数核心问题作用机制
Top N「最多取几条?」按相似度从高到低排序,返回前 N 个结果,不关心分数绝对值
相似度阈值「最低要多少分?」设定分数门槛,只有相似度 ≥ 阈值的片段才被保留

两者的行为差异带来一个关键后果:

  • Top N 保证总能得到固定数量的返回结果(除非总数不足)。知识库完全无关时,它也会「强行」塞入低质内容。
  • 相似度阈值可能让你得到零个结果——如果所有片段都未达标。它正是防止上一种情况的「安全阀」。

这就是为什么单靠 Top N 的系统永远「有话可说」,而这种「有话可说」往往是幻觉的来源。

2.2 协同工作方式:先粗筛,再精选 ​

常见的协作模式分三步:

text
Step 1  粗筛:从向量库取出较大候选集(如 Top 15)
   ↓
Step 2  过滤:用阈值(如 0.7)剔除明显不相关的片段
   ↓
Step 3  精选:从通过过滤的片段中取 Top 3 送给 LLM

最终送入 LLM 的片段数量为:

text
min(N, 通过阈值过滤的片段数)

注意这个式子的含义:阈值是硬约束,Top N 是上限。先被阈值砍掉的片段,再大的 N 也救不回来。

2.3 相似度阈值怎么定 ​

阈值的合理范围完全取决于距离度量方式,不能跨度量方式直接套用:

度量方式判断方向参考区间
余弦相似度(最常用)分数越高越相似≥ 0.70 ~ 0.82
欧氏距离距离越小越相似距离 ≤ 阈值

阈值的核心价值在于构筑拒答防线:当所有片段得分都低于阈值时,系统可判定知识库无相关内容,触发标准拒答,而非让 LLM 基于低质片段编造答案。

⚠️ 阈值不是「越高越好」。阈值过高会让系统对同义改写、口语化提问过度敏感,把本该召回的内容挡在门外。

2.4 Top N 怎么定 ​

N 取值适用场景风险
1 ~ 2事实型、定义型问题,要求高精度上下文不足,无法覆盖多角度
3 ~ 5大多数场景的推荐起点——
5 ~ 10需要综合多处信息的复杂问题噪声随 N 增加而上升

2.5 进阶截断策略 ​

工业级系统常采用比「单一阈值」更精细的策略:

  1. 软硬双阈值分流 —— 高分直接采纳,中分送重排模型(rerank),低分丢弃。
  2. 动态落差截断 —— 关注 Top1 与后续片段的分差,分差骤降处即为自然截断点。
  3. σ-RAG 统计显著性阈值 —— 基于噪声基线的 μ + n·σ 设定阈值,而非固定常数。

稳健起点:Top N = 3~5,余弦相似度阈值 ≈ 0.7,再基于黄金测试集进行单变量调优。

「单变量」很重要——同时调 N 和阈值,你无法归因是哪一项带来了改善。

3. 相似度阈值 vs. 向量相似度权重 ​

这两个参数都带「相似度」字眼,但作用在完全不同的阶段,混用是最常见的调参误区。

维度相似度阈值向量相似度权重
核心作用过滤:决定一个结果是否保留配比:决定向量分数在混合打分中占多大比例
作用阶段打分完成后,对最终得分进行筛选打分进行中,参与计算最终得分本身
调节目标控制结果的纯度(Precision)控制结果的倾向性(语义 vs. 关键词)
一句话管「要不要」管「怎么算」

在混合检索中,最终得分通常按以下方式融合:

text
最终得分 = w_keyword × 关键词得分 + w_vector × 向量相似度得分

关键点:相似度阈值作用于这个融合后的最终得分,而非原始的向量分数或关键词分数。

由此引出一个常见误区:试图用调整权重来解决本应由阈值处理的噪声过滤问题,或者反过来。两者的职责边界是——权重决定「排序长什么样」,阈值决定「排序里的东西要不要」。

4. 关键词相似度:向量之外的另一个信号维度 ​

向量相似度追求语义理解,关键词相似度依赖字面统计匹配。两者是正交的信号来源,这正是混合检索有效的原因。

4.1 BM25(工业界基准) ​

BM25 是 RAG 混合检索中最常用的关键词打分算法,得分由三个因素共同决定:

因素作用对应参数
词频(TF)词出现越多分越高,但用饱和参数 k1 抑制关键词堆砌k1
逆文档频率(IDF)提升稀有专业术语的权重——
文档长度归一化修正长文档的不公平优势b

BM25 的输出是一个无上界的正数分数,越高越相关。注意「无上界」的含义:它不能像余弦相似度那样直接套 0.7 这类阈值,需要归一化或单独设阈。

4.2 其他关键词方法 ​

方法特点典型用途
TF-IDFBM25 的前身,词频贡献是线性的(无饱和控制),通过 TF-IDF 向量的余弦相似度计算轻量场景、基线
Jaccard 相似度纯集合重叠,范围 [0, 1],计算成本极低粗筛、辅助信号
编辑距离字符级精准匹配拼写纠错、型号比对

4.3 权重往哪边倾斜 ​

在混合检索中,BM25 分数与向量分数加权融合后,再由相似度阈值进行过滤。权重调整的语义很明确:

  • 提高关键词权重 → 更偏向精确术语匹配(适合产品型号、日期、法规编号)
  • 提高向量权重 → 更偏向概念性语义匹配(适合口语化、同义改写的提问)

5. 基础篇小结:参数调优的因果链 ​

把本篇的四个参数串成一条决策链,它们的职责是不重叠的:

text
用户问题
   ↓
[关键词检索 BM25]  ─┐
                    ├─→ [权重配比 w_vector / w_keyword]  决定排序长什么样
[向量检索 相似度] ──┘
   ↓
[相似度阈值]                                        决定排序里的东西要不要
   ↓
[Top N]                                             决定最后最多送几条给 LLM
   ↓
LLM 生成

四个参数的调优顺序建议:先定阈值(纯度底线)→ 再定 N(广度上限)→ 最后调权重(倾向性)。前两者决定「有没有答案」,后者只决定「答案偏向哪种匹配方式」。


第二篇 · 拓展:图谱知识库(Graph RAG) ​

6. 前提被打破:向量检索的结构性局限 ​

基础篇的所有参数——Top N、阈值、权重、BM25——都建立在同一个前提之上:

知识被表示为文本片段,检索的本质是「找到与问题最相似的片段」。

图谱知识库从根本上改变了这个前提。而向量 RAG 的失效,很多时候不是调参能解决的,而是架构层面的局限:

第一,它没有「关系」的概念。

语义相似度找的是「听起来像 query」的片段,无法跟踪「第 4 节中的法规交叉引用了附录 C 中的例外条款」。这两节在 embedding 空间中可能相距很远,尽管其中一节定义了另一节。

第二,分块破坏了结构。

把财务报告切成 512-token 的窗口,就把表格和表头、脚注和它所限定的数字断开了。一个单元格里的数字脱离列标题就毫无意义。

第三,实体数超过阈值后,准确率急剧退化。

当查询涉及的实体数超过一定阈值(如 5 个),向量检索的准确率会急剧退化。在 schema-bound query 上,传统向量 RAG 的准确率可以是 0——不是低,是零。

7. Graph RAG 的核心机制 ​

Graph RAG 在向量检索之外增加了一层知识图谱:实体成为节点,实体之间的关系成为边。它的索引流程是一个多阶段 LLM 流水线:

text
文档
  ↓
实体抽取      LLM 识别:人物、组织、概念、法规
  ↓
关系抽取      LLM 识别:谁与谁相连,如何相连
  ↓
社区检测      Leiden 算法将紧密关联的实体聚成社区
  ↓
社区摘要      LLM 为每个社区生成自然语言摘要
  ↓
知识图谱      节点 + 边,存入图数据库

成本含义:这一流程意味着,在回答任何一个查询之前,LLM 已经对语料库进行了两轮完整处理——第一轮抽取实体和关系,第二轮为每个社区生成摘要。这与向量 RAG「一次 embedding 调用」的索引成本有本质区别。

查询时的两条路径:

搜索方式机制适合
局部搜索沿特定实体的关系边进行遍历具体实体的关联查询
全局搜索利用社区摘要进行 map-reduce 式的归纳语料库级的总览问题

8. 关键洞察:向量搜索是概率性的,图遍历不是 ​

这是两者最根本的哲学差异。

向量相似度搜索总是返回它最近的匹配,无论这个匹配实际上有多差——它没有能力告诉你「匹配很弱」。

图遍历则要么连接上,要么连接不上——一旦图的结构是正确的,它的检索是确定性的、精确的。

由此得出的行为特征:

向量搜索图遍历
对混乱输入宽容不宽容
在边界情况不可靠一旦建立就精确

用一句更直白的话概括选型原则:

当答案已经存在于某份文档中时,用向量数据库;当答案只存在于跨越多个事物的路径中、没有任何单一文档陈述它时,用知识图谱。

9. 全面对比:向量知识库 vs. 图谱知识库 ​

维度向量知识库(Vector RAG)图谱知识库(Graph RAG)
知识表示文本片段 → 稠密向量实体(节点)+ 关系(边)+ 社区摘要
检索机制余弦/点积相似度的近似最近邻搜索实体链接 + 图遍历(局部)/ 社区摘要归纳(全局)
核心能力语义相似度匹配多跳推理与全局归纳
确定性概率性:总是返回最近邻,无法感知「弱匹配」确定性:连接存在与否是明确的
索引成本低(仅 embedding 计算,分钟级)高(多轮 LLM 调用,小时到天级;企业语料索引 $20–500)
查询延迟百毫秒级通常为向量 RAG 的 2–3 倍(端到端,生成前);部分实现报告 20–24 秒响应
Token 消耗低高(全局搜索尤其显著;有报告 GraphRAG 单次检索消耗 61 万 token,LightRAG 仅约 100 token)
数据更新增量容易,追加 embedding 即可增量困难,实体/关系/社区摘要需重建或复杂合并;文档更新频繁的场景应慎用
可解释性弱(「这段文本和问题相似」)强(「答案沿着这条实体路径得来」,遍历路径即证据)
典型适用问题「这份文档里说了什么?」;语义匹配;客服问答;政策/合同检索「A 和 B 通过什么路径关联?」;多跳推理;全局摘要;监管交叉引用分析;供应链追溯

10. 量化性能差异:不是「全面更好」 ​

GraphRAG-Bench(ICLR 2026)按查询类型分别测试的结果,揭示了比「GraphRAG 全面更好」更精确的图景:

查询类型向量 RAGGraph RAG结论
简单事实检索60.9%60.1%基本持平,向量检索甚至略有优势
多跳推理67.0%70.3%图胜,但差距并非压倒性
上下文摘要(跨文档综合)51.3%64.4%图胜,13 个百分点的显著差距
聚合查询42.9%53.4%图胜,约 10 个百分点的差距

核心启示:

Graph RAG 是一个针对多跳推理和跨文档综合的专用工具,而非向量 RAG 的通用升级。在简单事实检索上,昂贵的图索引并没有带来相应的回报。

这条数据的工程价值在于——它给出了「值不值得投」的边界:如果你的查询分布中 80% 是简单事实检索,那么 Graph RAG 的 ROI 会很难看。

11. 图谱知识库的额外风险 ​

引入图谱并非只有收益,以下风险需要专门设计才能规避:

① 实体抽取质量是天花板

「实体提取质量是整个系统的天花板。如果实体提取不准,后面的关系构建、社区检测全部跟着错。」

② 图谱覆盖率不足会系统性摧毁优势

在真实基准测试中,存在 KG-GraphRAG 因图谱覆盖率仅 65% 而全面落后于向量 RAG 的案例。

③ 其他需要专门设计的环节

  • 实体消歧(同一实体的不同表述需归并)
  • 图谱错误评测(如何量化图本身的质量)
  • 权限过滤(图遍历时如何继承文档级权限)

这三点共同说明:Graph RAG 的成本不止是「建图贵」,还包括维护一套图质量保障体系的持续投入。

12. 选型决策框架与混合路由 ​

12.1 按「问题形状」选型 ​

选型的关键不是「哪个架构更先进」,而是用户实际提出的问题属于什么形状:

问题形状特征更合适
相似性问题「哪段文本在语义上接近这个问题?」向量检索
路径问题「A 和 B 之间通过什么关联?」图遍历

大多数真实系统同时面临两种问题。

如果答案已经写在某份文档里,用向量知识库;如果答案需要跨越多个实体、沿着关系路径组装出来,且没有任何单一文档完整陈述它,用图谱知识库。

典型的高价值图场景:

  • 供应链多层追溯
  • 法律判例与法条的交叉引用
  • 权利与合同的层级关系
  • 监管合规分析

12.2 混合路由:不二选一 ​

实践中增长最快的方向不是「选向量还是选图谱」,而是让系统根据查询动态路由。Adaptive RAG 根据问题复杂度或结构信号,将查询分配给向量检索、图遍历或两者并用。

高性价比的折中方案:混合检索 + 实体过滤

  • 保留向量检索作为主通道
  • 增加基于实体的过滤层
  • 不构建完整的图索引

实践报告显示,这种方案比纯向量检索效果好约 30%,而成本比完整 GraphRAG 低约 80%。

对于多数团队而言,这通常是最优的第一步——先拿到 30% 的收益,再决定是否要付另一半的代价。

12.3 文档更新频率是硬约束 ​

如果知识库更新频繁(日级或更快),完整 Graph RAG 的增量更新成本会成为严重负担:每次文档变更都可能需要重新抽取实体、重建关系、重跑社区检测和摘要生成。

文档更新频繁的场景应谨慎采用完整 Graph RAG,除非更新频率在每月以内,或能够实现有效的增量图构建。

这一条在实际决策中往往具有一票否决的效力——它比性能数据更硬,因为它是持续成本而非一次性投入。

13. 总结 ​

RAG 检索层的选择,本质上是在回答两个层面的问题。

第一层:在向量范式内部,如何调好参数? ​

参数控制什么
Top N广度
相似度阈值纯度
向量权重语义与关键词的配比
BM25提供字面精确匹配的信号

稳健起点:Top N = 3~5,余弦阈值 ≈ 0.7,再基于黄金测试集单变量调优。

第二层:向量范式本身是否足够? ​

当用户的问题从「文档里说了什么」转向「事物之间如何关联」,向量检索的结构性局限就会暴露。图谱知识库通过显式的实体-关系表示和确定性遍历,填补了多跳推理和全局归纳的空白,代价是索引成本、查询延迟和数据更新复杂度的显著上升。

最终的工程判断 ​

关键不在于「哪个更好」,而在于:

你的问题分布中,相似性问题与路径问题各占多少。

  • 以相似性为主 → 向量知识库是高效的默认选择
  • 路径和多跳查询占比可观且价值密度高 → 图谱(或混合路由)值得投入

对于大多数生产系统,按查询形状动态路由的混合架构,而非单一范式的「全面切换」,是更务实的演进方向。