最近在做一个企业知识库问答的Agent,用LangChain搭的RAG流程。现在卡在chunk切分上——按固定字符(比如500字带overlap)切,检索出来的片段经常断在句子里,LLM回答起来前言不搭后语;试了按段落/标题切,又感觉粒度太粗,小问题召回率明显下降。还试过用embedding做语义切分,但效果不太稳定,而且处理几百个PDF时耗时感人。想请教下各位实际项目里是怎么平衡的?有没有比较成熟的切分策略或者工具?另外像表格、代码块这类特殊内容是不是应该单独处理?先谢过各位大佬了。
楼主
2026-07-31
RAG的chunk切分到底该看字符数还是语义?快被搞疯了
请 登录 后发表回复
全部回复
共 103 条
2楼
2天前
我们之前也踩过这个坑,后来干脆做了个混合策略:固定500字切,但切完用句号问号这些硬边界去对齐,断句问题基本解决了。语义切分真不适合大批量,太吃算力,我这边只对那种难召回的长文档用。表格和代码建议单独抽出来走结构化存储,不然检索结果真没法看。另外你试试把overlap调成50-100字,召回率能稳不少。
3楼
1天前
固定字符切分加个句号边界检测就行,别迷恋语义切分,性价比太低。表格代码块单独走结构化解析,别硬塞进文本chunk。
4楼
16小时前
实践中还是得混合着来,固定字符打底,再按标题和表格做二次切分,召回率会稳很多。
我们之前也踩过这坑,语义切分太吃算力,不如先按段落兜底,特殊格式单独拎出来处理。