最近在用LangChain + Chroma搭一个本地知识库问答,文档是PDF技术手册,大概200多页。我按默认的RecursiveCharacterTextSplitter切块,chunk_size设的500,overlap 50。但实际提问时,检索出来的片段经常跟问题只沾一点边,甚至把不同章节的内容混在一起,导致LLM回答要么跑偏要么胡编。试过调大chunk_size到1000,结果噪音更多了。想请教下各位,这种技术手册类的文档,分块到底该怎么设计?是按标题层级切还是固定长度加元数据过滤?有没有什么判断分块好坏的实际经验?
楼主
2026-09-24
RAG检索到的文档块总是答非所问,是不是分块策略有问题?
请 登录 后发表回复
全部回复
共 4 条
2楼
2026-09-28
技术手册别硬切,按标题层级分块再加章节元数据过滤,检索准很多。
3楼
4天前
我之前也遇到过类似问题,后来换了方案。
4楼
3天前
写得挺好,建议补充一些性能数据。
5楼
2天前
技术手册这类文档用固定长度切确实容易出问题,章节结构那么明显,按标题层级切会好很多。你可以试试先用MarkdownHeaderTextSplitter按标题分,再对超长的段落做二次切分,同时把章节标题塞进metadata里,检索时加上过滤条件。另外500的chunk对技术手册可能偏小,语义不完整,可以配合parent document retriever,用小块检索但返回大块上下文给LLM。判断分块好坏我一般会拿十几个典型问题手动跑一遍,看召回片段是不是真的能独立回答这个问题,能就说明切得还行。