SAG / ARCHITECTURE NOTE
RAG 分块:文档应该切分得多细?
结合研究与官方文档,说明 chunking 的定义、必要性和工作原理,以及在 SAG 架构中的应用标准与实务检查清单。
一句话定义
chunking(分块)是将长文档拆分为可检索的语义单元,同时保留原文位置和层级的过程。
核心答案:片段过大,会混入无关上下文;片段过小,则会丢失条件和例外。仅按字符数切分,还会切断表格、标题和段落之间的关系。
为什么需要这项技术?
片段过大,会混入无关上下文;片段过小,则会丢失条件和例外。仅按字符数切分,还会切断表格、标题和段落之间的关系。
工作原理
先依据标题层级、段落、表格和列表进行切分,再应用长度限制和 overlap(重叠)。为每个片段添加文档、章节、版本和原文位置等元数据。
设计时不能只关注准确率。还应一并定义延迟、成本、数据边界、更新周期以及失败时的行为,这样才能在实际运行中获得可复现的结果。对于自动化无法确定的值,安全的做法是将其保留为“未测量”或“需要审核”状态,而不是将其改成 0 或成功状态。
与 SAG 技术的关联
如果将 chunk 与 SAG 的依据 artifact 关联起来,就必须能够从报告返回到原文页码和段落区间。当前保存的来源、哈希和版本原则正是这一基础。
实务检查清单
- 优先根据文档结构确定边界
- 同时衡量上下文丢失和重复检索率
- 保留从 chunk 返回原文的链接
- 将失败、空结果和权限错误的状态与成功区分开
- 在相同条件下重新验证变更前后的结果
研究与官方文档
参考文档为原理和建议提供依据,但不保证搜索曝光、AI 提及、排名或营收。实际应用效果应通过服务数据以及在相同条件下的观测加以验证。
选择标准与具体应用示例
如果把规格表只按数字行切分,单位、产品名称和测试条件就会丢失。请一并保留标题和表头,并关联原文位置。不存在适用于所有文档的最佳片段大小,应根据文档类型和评估问题来选择。
在 SAG 中的适用范围
本文讨论搜索 AI 的研究原理和扩展设计。阅读时可结合 SAG 的页面采集、依据记录和报告验证结构,但不要据此认为论文中的搜索算法已全部部署到运行流水线中。是否已应用,应通过搜索模块、评估数据和执行记录加以确认。
延伸阅读这项技术的方法
比较 RAG、GraphRAG 和 Self-RAG 论文及其应用条件。
SAG / KNOWLEDGE LINKS
