揭秘RAG相关性:从表面相似走向真正有用的信息检索
在RAG(检索增强生成)系统中,相关性远不止表层相似性那么简单。本教程将深入剖析如何超越基础向量相似度,构建能够精准理解上下文并提供真正有价值信息的检索系统,助力您掌握RAG系统的核心设计理念与最佳实践。
1. RAG与相关性:不止依赖向量嵌入
谈及RAG(检索增强生成),多数人首先联想到向量嵌入与相似性度量。然而,相关性并非仅依赖这些技术,传统数据库查询与文本搜索往往已能有效解决多数问题。
小贴士:切勿盲目追求复杂的向量搜索技术。当数据可结构化、查询条件明确时,传统的关系数据库查询(SQL)或Elasticsearch等全文搜索引擎通常更直接、更高效。
以医疗保健应用为例:假设您正在开发基于LLM的医疗软件,向量空间中与“使用LLM构建医疗保健软件”相似的片段可能包括“用于诊断疾病的AI”和“用于视频游戏开发的AI”。这些片段在向量空间虽然“相似”,但缺乏关键的业务关联。这正是我们需重新审视相关性定义的缘由。
常见疑问:何时必须使用向量数据库(VectorDB)?
答:当数据难以通过关键词或规则精确定位,且需要理解语义内涵时,向量数据库才真正发挥价值。但请记住,核心挑战在于相关性问题,而非技术工具的选择。
2. 相关性:超越表面相似
相关性远非表面相似性,它涉及对上下文的深层理解。核心理念是:“对人类有用的信息,对LLM同样有益”。因此,我们必须构建一个能够理解上下文、提供真正有价值信息的系统。
一个反直觉的发现
研究显示,添加不相关文档有时反而能提升RAG系统的准确性。背后的逻辑是:某些不相关文档可能通过特定方式“激活”模型的推理能力,帮助其更好理解问题。但请注意,这并不意味着可以随意添加不相关文档,区分相关与非相关信息仍是RAG系统的核心挑战。
3. 数据量 vs. 效果:RAG系统的双刃剑
来自QAnything的实验揭示了一个重要现象:数据越多效果未必越好。在“升学百科问答”测试中,研究者观察到:
- 第一批数据加入后:问答正确率为42.6%
- 随着第二批数据加入:正确率提升至60.2%
- 当第三批数据加入后:正确率却急剧下降了8个百分点
这表明,海量数据并不总能带来更好效果,反而可能引发检索退化问题。


3.1 检索退化的典型示例
以“大连医科大学怎么样?”这个问题为例:
- 在加入第三批数据前,系统能正确回答
- 加入第三批数据后,系统却错误地返回了与“大连理工大学”相关的信息
原因在于:第三批数据中包含与“大连理工大学”相关的句子,这些句子在向量空间与“大连医科大学”高度相似,但实际上并不相关。

小贴士:语义检索的核心矛盾在于:相似性 ≠ 相关性。RAG系统需在有限的LLM输入token内选择最相关片段。若检索到的片段相似但不相关,则会导致回答错误。
4. 如何定义与衡量相关性?
这是一个复杂且关键的问题。论文《How Easily do Irrelevant Inputs Skew the Responses of Large Language Models?》通过实验揭示了以下重要结论:

论文核心实验结论
- 大模型更容易被语义高度相似但不相关的信息误导
- 随着无关信息数量增加,大模型识别真正相关信息的能力会降低
- 大模型对无关信息的鲁棒性会随问题格式变化:自由格式问题(如开放式问答)通常比多选QA格式更鲁棒。在多选QA格式中,模型可能因选项干扰而选择不相关答案
4.1 结合多维度评分
仅靠向量相似性评分(如余弦相似度)不足以衡量相关性,建议结合以下多维度评分:
- 语义相似性评分:基于向量嵌入的相似性
- 上下文匹配评分:基于信息能否回答核心问题
- 任务目标评分:基于信息是否有助于完成特定任务
4.2 引入人类反馈
人类反馈是衡量相关性的重要依据。可设计以下评估指标:
- 有用性评分:结果是否有助于完成任务?
- 准确性评分:结果是否准确回答了问题?
- 相关性评分:结果是否与问题真正相关?
4.3 优化提示工程
实验结论指出,CoT(Chain-of-Thought)提示和指令增强提示对提高模型辨别能力的效果有限,甚至可能产生副作用。因此需更精细地设计提示:
- 明确任务目标:在提示中明确告知模型需完成的任务
- 过滤无关信息:加入“忽略无关信息”的指令,但需结合其他优化手段
常见疑问:提示优化真的有效吗?
答:效果有限。论文实验表明,简单的提示调整(如“忽略无关信息”)并不能从根本上解决相关性判断问题。更有效的方法是结合多维度评分、人类反馈和动态检索策略。
4.4 动态调整检索策略
检索策略需根据任务和数据动态调整:
- 分层检索:先进行粗粒度检索,再进行细粒度筛选
- 多轮检索:通过多轮交互逐步缩小检索范围,提高相关性
5. RAG的短暂性:独特优势与挑战
RAG的另一个关键特性是短暂性——每次请求的结果会在对话结束后消失。这听起来可能有些不便,但实际上:
- 优势:短暂性为实时应用提供了重要安全优势,可将数据隔离到特定对话中,更易防止数据泄露
- 挑战:需要不断将数据重新注入上下文,对系统设计和性能提出更高要求
总体而言,短暂性是RAG系统在高度安全与隐私保护场景中的独特优势。
6. 数据侧优化:质量比数量更重要
QAnything的实验提醒我们,数据侧优化并非简单的“越多越好”。虽然增加数据量可扩展知识覆盖范围,但同时也可能引入噪声,导致检索退化。
6.1 数据质量 vs. 数据数量
在RAG系统中,数据质量比数据数量更重要。高质量数据能显著提升系统表现,而低质量或冗余数据则可能导致性能下降。在增加数据量之前,必须确保数据的相关性和准确性。
6.2 关键优化方向
- 数据去重:消除重复内容,避免检索干扰
- 脏数据处理:清理噪声、错误信息
- 数据与问题的精确匹配:确保数据能直接支撑目标问题的回答
常见疑问:如何平衡数据量与检索精度?
答:核心策略是“先质量,后数量”。每次增加数据前,先评估新数据是否会引入噪音。可采用增量验证方式:分批添加数据,每次添加后评估系统表现,确保正面改进。同时,推荐使用数据清洗工具和去重算法预先处理数据。
7. RAG未来的方向与最佳实践
我们正处于AI与LLM开发的早期阶段,现在建立的标准将决定未来AI应用的开发方式。通过关注相关性与短暂性的细微差别,我们可以创建出提供更精确、更优结果的系统。
总结关键实践:
- 不要盲目追求向量检索,传统查询有时更高效
- 重视相关性定义,超越表面相似性
- 控制数据质量,警惕检索退化
- 结合多维度评分和人类反馈衡量相关性
- 善用短暂性带来的安全优势
