检索做了哪些优化,如何验证提升?
未标记
考查重点:错误驱动优化与多维对照。从漏召/错排选改动,固定集与其他配置做前后比较,分别看证据覆盖、排序、答案、时延与费用
本题目录
参考答案
核心回答
检索优化要从失败样本出发,说明原来漏掉或排错什么、具体改了哪一层,以及同条件下哪些指标变好。可以沿解析与切分、查询表达、召回、排序和上下文逐层检查,避免同时换一堆组件后只报一个总正确率。
以下以运维知识库为参考:编号查询漏证据时补 BM25;相似型号或旧版本混入时补范围过滤;小块缺前置条件时调整结构切分或补父段;正确证据已在候选中却排后时比较 Rerank。验证时固定文档与问题集、生成配置和预算,用消融区分各项贡献,再检查最终答案、引用、延迟和成本。具体效果以项目的实际对照记录说明。
先建立基线与失败分类
基线可以是当前的单路向量检索。保存每题的问题、标准证据位置、候选名次、最终上下文和答案,按阶段归因:原文没解析出来、证据被切断、查询表达不匹配、索引版本错、召回漏掉、排序淘汰,或者生成没有正确使用。
“检索到了同主题材料”不等于找到了可支持答案的证据。例如问某型号错误码,返回同类设备通用手册,语义很像但不能回答。评测集要包含这种难负例,也要覆盖无答案、跨段条件和版本差异。
改动与原因怎样对应
文档与块。 标题、表头和限定条件缺失时,先修解析和结构,再比较块大小、重叠或父子扩展。保留原文标识、版本与位置,更新时清理旧记录。相关方法见如何评估分块效果并进行优化?。
查询与召回。 精确编号、产品名和字段查询可以增加词法检索;同义表达依靠合适的向量模型,并按需补查询改写。两路融合前统一标识和去重,版本、租户与资源范围由可信条件过滤。改写不得擅自改变用户型号、时间和否定要求。
排序与上下文。 正确证据已进入候选,但位置靠后,可以测试重排;命中块缺背景时再做受控扩展。粗召回、重排与上下文分别设预算,重复和无关内容不直接全部交给模型。若候选根本没有证据,先改召回而不是只换重排模型。
怎样证明收益来自这些改动
固定留出集与原文版本,分别比较向量基线、增加词法召回、增加融合、增加重排或扩展等组合。每步同时记录新增命中与退化样本,必要时移除某个模块复测,判断它是否仍有独立价值。
指标按对象说明:候选层看所需证据的 Recall@K,排序层看 MRR 或 nDCG,最终上下文看完整证据覆盖、噪声和重复,答案层看事实、条件与引用。比较不同块大小时,还要控制上下文 Token 预算,不能只固定块数。
一个问题需要多处证据时,单条命中率不足以代表可回答率。使用模型评分检查支持关系时,先与人工抽样对齐,保留判断不一致的案例。调参集与留出集分开,避免参数只适合已经反复查看的问题。
项目结果怎样讲清楚
说明指标、分母、样本范围和对照条件。例如一个纯说明性的算例:相同问题集上,某项指标从 60% 到 72%,是增加 12 个百分点,相对提高 20%;两种表述不能混用。这不是本项目实测结果。
除了质量,还要给出相同负载下的检索与端到端延迟、超时、Token 和成本。多召回很多内容再获得一点正确率,是否值得,要结合延迟预算和实际任务判断;没有收益的步骤也可以移除。
最后保留新索引或配置版本与回退办法,在适当流量下观察线上问题分布。离线留出集提供可比依据,线上仍需检查新增文档、权限变更与真实查询变化。
对应教程
- RAG检索增强生成:第1.3.4及3.3节介绍完整链路和有无知识库的对照;本题进一步讨论分层消融与检索收益验证。
参考资料
国内:JavaGuide:RAG文档处理与切分:借鉴结构丢失、边界和元数据问题,说明正文中文档侧故障应先修解析切分、不能直接归因编码模型的原因。
国内:RAG优化:候选、重排与上下文:混合召回、候选预算与重排部分支持将优化措施对应到具体失败环节。
国内:RAG与混合检索工程:分阶段预算和评估:参考分层指标与明确评测分母,说明正文中用同条件消融判断召回、排序、上下文和生成收益的安排。
国外:Ragas:Context Recall:依据参考答案断言与检索上下文的支持关系,说明正文中证据覆盖不能只按主题相似判断、模型评分还需校准。
国外:Chroma:Evaluating Chunking Strategies for Retrieval:依据固定原文跨度并考虑 Token 效率的评估,说明正文中分块变化应在可比上下文预算下检验完整证据覆盖。

