最近在搭一个基于大模型的问答系统,用到了RAG(检索增强生成)流程。我选了Milvus做向量存储,但在文档预处理阶段卡住了——切片大小到底设多少合适?试过512和1024字符,但发现切片太大时检索结果不够精准,太小又容易丢上下文。而且不同文档类型(比如技术手册 vs 新闻稿)效果差别挺大。想问问社区里的大佬,你们在实际项目里有没有比较通用的策略?比如是不是得结合chunk overlap或者动态切片?或者有没有什么工具能自动评估切片质量?求分享点踩坑经验!
最近在搭一个基于大模型的问答系统,用到了RAG(检索增强生成)流程。我选了Milvus做向量存储,但在文档预处理阶段卡住了——切片大小到底设多少合适?试过512和1024字符,但发现切片太大时检索结果不够精准,太小又容易丢上下文。而且不同文档类型(比如技术手册 vs 新闻稿)效果差别挺大。想问问社区里的大佬,你们在实际项目里有没有比较通用的策略?比如是不是得结合chunk overlap或者动态切片?或者有没有什么工具能自动评估切片质量?求分享点踩坑经验!
我一般按语义切,512到800字符加10%重叠,技术文档再小点更准。
我一般按文档结构来切,不硬套固定字数。技术手册按章节切,新闻稿按段落切,效果比统一512稳不少。overlap留个10%到15%就够了,太大反而拖慢检索。动态切片可以看看LangChain的语义分割器,配合小模型判断边界,实测比递归字符切分准。