最近在搭一个基于知识库的问答系统,用的langchain+chroma,分块试了固定字符和递归分割。但用户问“A产品的售后政策”,系统经常返回“B产品的维修流程”这种无关结果,检索精度很差。我怀疑是chunk_size设置不合理,或者没有做标题/段落结构保留。想问下大家在RAG文档预处理时,是怎么安排分块策略的?有没有对结构化文档(比如PDF表格、多级标题)比较友好的方案?或者需要先做段落合并?感谢指点!
楼主
22小时前
RAG检索总返回不相关内容,有没有更好的分块策略推荐?
请 登录 后发表回复
全部回复
共 2 条
2楼
22小时前
试试用语义分块或者基于文档结构的分块,比如按markdown标题切分后再合并段落,对结构化文档效果会好很多。
3楼
20小时前
遇到过类似的问题,后来发现光调chunk_size确实不够,结构化文档得先做层级解析。我是把PDF用markdown转换后,按一级标题做段落合并,二级标题作为chunk的meta信息存进去,这样检索时能结合标题权重。不过表格数据还是头疼,试过把表格转成描述性文本再接检索,效果比直接切块要好一些。你用的embedding模型是哪一款?有些模型对语义边界的敏感度差别挺大的。