如何评估分块效果并进行优化?
未标记
考查重点:切片方案的对照评测。用标出原文证据的问题集,固定其他检索配置比较切分方案;检查证据召回、跨块条件、答案质量和上下文成本
本题目录
参考答案
核心回答
评估分块效果,要看它是否让完整、相关且可定位的证据进入最终上下文,并在合理成本下支持正确回答。块大小均匀、向量数量增加或某几题答对,都不足以证明切分方案更好。
我会先建立带原文证据位置的问题集,覆盖短事实、跨段条件、表格、长章节和无答案问题;再固定文档版本、Embedding、检索与生成配置,对比不同边界、块大小、重叠和父子扩展。分层看解析与边界完整性、证据覆盖与噪声、最终答案和引用质量,同时记录上下文 Token、索引成本与延迟。根据失败样本确定改哪种切法,再在留出集验证。
先建立不依赖某一种切法的参照
在原文中标注回答需要的句子、条件或表格行列,并保存文档版本与位置,而不是只标当前方案的 chunk_id。切法变了,块的数量与编号也会变;沿用旧块作为唯一标准,会让比较偏向旧方案。
题目既包含常见单点查询,也覆盖代词指向、例外条件、跨段说明、多证据联合回答、同主题不同型号或版本。无答案和无权限问题单独检查。可以用真实问题补充合成题,但要核对标准答案与证据,避免生成题只是照抄标题。
调参集与最终留出集按文档族、主题或时间合理划分,避免同一份模板及相邻块分别进入两边,造成效果虚高。
三层检查分别回答什么问题
切分本身。 抽查标题、列表、代码与表格是否保持关系,条件和结论有没有被拆散,来源与位置是否可回溯;统计块长分布、重复和截断。解析阶段已经丢失列名或数字时,先修解析,调整重叠无法恢复不存在的信息。
检索与上下文。 看支持证据在候选和最终上下文中的覆盖,区分“至少命中一段”与“问题所需证据已齐全”。若定义块级 Recall@K,需要明确相关集合与分母;比较不同切法时,可用原文证据跨度或信息点作统一参照,再记录无关内容和重复占比。
例如一个问题需要两处条件,召回其中一处只能说明部分覆盖;同一段证据被三个重叠块反复命中,也不能算三份新增知识。比较时除了相同 TopK,还要看相近上下文 Token 预算,避免大块只是因为带入更多内容而占优。
最终回答。 固定生成配置,检查事实、限定条件、引用和无答案处理。Ragas 等工具可以辅助检查参考答案中的断言是否被上下文支持,但模型评分需要用抽样人工标注校准,不能直接当作唯一真实标签。
根据失败类型优化
边界把条件切开,可以先按标题和段落保留结构,再对过长单元递归切分,或增加适量重叠;小块命中准确却缺少背景,可以测试父子检索或相邻块扩展。一个块混入多个无关主题,可缩小块或细化结构边界。
表格则保留表头、单位和行记录,代码尽量保留函数及关联说明。语义切分可以作为候选方案,但增加了离线计算和更新成本,不默认优于结构切分。每次先改变一个主要因素,并保留其他配置,便于判断收益来自哪里。
最后在固定留出集上比较证据覆盖、噪声、答案质量、延迟和存储。优势只出现在某一类文档时,可以分类型选择策略,不必把一种切法推广到整个知识库。
常见追问
召回率提高,为什么答案反而变差? 可能是块变大、重复或相似干扰增加,正确证据虽出现却被截断或混淆。需要同时比较最终上下文的证据完整性、噪声和模型实际使用情况。
能不能只看平均块长? 它能发现异常,但不能说明问题是否可答。同样大小的块,保留或打断一个关键否定条件,会产生完全不同的答案。
对应教程
- RAG检索增强生成:第1.3.4及3.3节介绍切块、召回、上下文和评测的联系;本题补充证据标注与受控比较。
参考资料
国内:JavaGuide:RAG文档处理与切分:参考切分边界、表格关系与上下文缺失的讨论,说明正文中入库前应检查条件、列名和来源位置的完整性。
国内:RAG优化:候选、重排与上下文:借鉴同一问题集比较切块、检索和上下文的方法,组织正文中固定配置的分层方案对照。
国内:RAG与混合检索工程:分阶段预算和评估:参考证据、召回和生成的分层诊断,说明正文中带原文标注的问题集、留出验证与生成评审的分工。
国外:Ragas:Context Recall:依据参考断言与检索证据的覆盖关系,说明正文中模型评分检查什么、为何仍需人工校准。
国外:Chroma:Evaluating Chunking Strategies for Retrieval:以原文片段和 Token 为参照评估切分,说明比较不同块大小时为何还要考虑噪声和预算。


