发布时间:2026-09-30T10:00:00.000Z
RAG效果差,八成问题出在数据准备。从源文件到向量库,清洗、切块、元数据、索引,一步步讲清楚。 很多团队搭RAG(检索增强生成)知识库,模型选的是最好的,向量库也是主流方案,但问出来的答案就是不对。复盘了一圈,问题几乎都出在数据准备环节——喂进去的是垃圾,检索出来的自然也是垃圾。这篇文章把RAG上线前的数据准备流程完整捋一遍。 第一步:清洗。原始文档永远是脏的:PDF里有页眉页脚、扫描件有错字、表格转换丢格式、网页抓取带广告和导航。这些脏数据直接进向量库,检索时全是噪声。清洗的几个必做项:去页眉页脚和重复段落、统一编码和格式(全角半角)、识别并处理表格(RAG对表格的检索是老大难,建议把表格转成结构化文本或图片再单独处理)、去掉与主题无关的章节(比如"目录""致谢")。 第二步:切块(chunking)。这是最影响检索质量的环节。切块的粒度要配合你后续的问答场景:如果你的知识是"条款式"的(制度、合同),按语义段落切,一块就是一条完整规则;如果是"说明式"的(手册、教程),按标题层级切,保证一个块覆盖一个完整主题;如果是对话记录,按轮次切。经验法则:块大小在300到800字之间,重叠(overlap)设50到100字,兼顾检索召回率和上下文完整性。别用固定字数硬切,会切断语义。 第三步:元数据。这一步最容易被忽略,但对检索效果影响巨大。给每个块打上元数据标签:来源文档、章节标题、发布时间、文档类型、所属部门。检索时可以按元数据过滤(比如"只看2025年后的制度"),也可以把元数据拼进块内容里提升检索命中率(比如块的标题拼在开头)。 第四步:建索引与向量化。选Embedding模型时注意:中文场景用中文优化过的模型效果明显更好;向量维度影响成本,一般768或1024够用。建索引后一定要做"检索质量抽检":拿20个典型问题,看检索出来的TOP5块是否相关,不相关就调切块策略或元数据,别急着上线。 第五步:上线后的持续维护。知识库是活的:文档会更新、会过期。建立更新机制(新文档入库、旧文档下线),定期重跑抽检集看效果是否退化。RAG项目"上线即巅峰"的不少,多半是没人维护。 最后给个排查路径:RAG答案不对,先看检索环节——把模型答案暂时换成"只返回检索原文",如果原文本身不对,问题在数据准备;如果原文对但答案不对,才是模型或提示词的问题。这个二分法能帮你快速定位八成的问题。