文档切分没有一个永远正确的大小。chunk 太大,检索回来一堆噪声;chunk 太小,上下文又断掉。
我一般先看文档类型:
FAQ:可以按问答对切
产品文档:按小节切
合同/制度:按条款切
技术文档:按标题层级切
代码说明:按模块或函数关系切
不要一上来就拍脑袋设 500 字或 1000 字。更好的办法是拿真实问题测试:用户问一个问题,检索出来的前三个片段里有没有答案?如果没有,先调切分和检索,而不是急着换模型。
还有个细节很重要:保留标题路径。比如“产品手册 > 计费 > 退款规则”。模型看到这条路径,会比只看到正文更容易理解片段位置。
我的经验是,RAG 项目里很多效果问题都不是生成问题,而是切分和检索问题。别把锅都丢给大模型。