872
0
2691
超级版主
摘要:知识库分片(Chunking)是 RAG 检索增强生成的基础工序。直接把整份 PDF、长篇文档丢给大模型会面临上下文限制、检索不准、噪声干扰等一系列问题。分片不是简单粗暴按字数切割文本,核心目标是切割出语义完整的知识单元,再完成向量化、入库,配合元数据、重排序、混合检索,让系统可以从海量私有文档中精准找到回答依据。很多 RAG 效果差,根源不在于大模型能力,而是分片处理出现缺陷。本文讲清分片原理、主流切分方案、完整处理流程、高频踩坑点与工程优化思路。
前言 RAG 检索增强生成,解决大模型固有短板:模型预训练知识存在时间滞后,无法掌握企业内部制度、产品手册、客服记录等私有资料。RAG 工作逻辑是用户提问时,先从知识库检索相关片段,把检索到的资料连同用户问题一起交给大模型,让模型依托真实资料输出答案,以此降低幻觉,支持私有、实时更新的知识。 但现实场景中知识库动辄几千页 PDF、海量网页、上万条对话记录,不能直接把完整长文档交给模型,存在三个硬约束: 大模型上下文窗口有上限,一次性读不完超长文档;整篇文档信息混杂,检索很难定位真正相关的局部内容;长文档内部信息密度参差不齐,标题、表格、无效冗余内容混杂,大量无关信息会干扰模型判断。 于是就需要知识库分片(Chunking),把大文档拆解为大小合适、语义完整的片段,这是整套 RAG 系统的地基。分片质量直接决定检索上限,后续换向量模型、调重排序都只能在已经切好的片段上做优化,如果分片本身语义残缺,再多后期优化也很难挽回效果。 分片的核心原则:不是切得越碎越好,而是尽量保留完整语义单元。例如一份差旅报销制度,适用范围、住宿标准、审批流程尽量保留在同一个片段。当用户询问 “上海出差住宿上限”,检索才能够命中包含完整答案的片段。
工程实践中经常使用递归字符切分作为折中方案:优先尝试大粒度分隔符(标题、段落),段落超长再向下使用换行、空格逐层切分,兼顾性能与语义完整性,是工业界最常用的基础方案。
工程范式:粗召回多拿候选,重排序再精简,不要直接把大量候选全部塞进 Prompt。
免责声明:本文为科普向文章,不同框架、厂商的分片实现存在差异,实践参数需要结合自身业务文档做调试,仅供学习参考。
举报
本版积分规则 发表回复 回帖后跳转到最后一页
相关侵权、举报、投诉及建议等,请发 E-mail:2026@typc.net
Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|晋ICP备2026008270号-1|晋公网安备14010602111293号