
RAG 项目做出来效果差,90% 不是模型不行,是检索环节没做好。本文从切片、向量库、检索、重排四个环节,讲清可落地的优化思路。
先看链路。 原始文档 → 清洗去重 → 切片 → embedding → 向量库 → 用户提问 → 相似检索 → 重排 → 大模型生成。效果瓶颈通常在 "检索不到相关段落",而不是生成环节。
切片策略。 按语义切,不要按固定字数硬切;标题、章节、表格单独处理;重叠窗口保留上下文。表格直接丢进向量库是常见坑 ------ 先转成结构化文本再切片。
向量库选型。 中小规模(几十万段以内)轻量方案即可起步;数据量上来再考虑分布式向量库;关键是支持元数据过滤(按部门、文档类型隔离权限)。
检索优化。 纯向量检索召回不全,建议混合检索(向量 + 关键词);召回后加一层重排模型,把最相关段落排到前面;按元数据过滤权限和业务范围。
评测闭环。 建一批标准问答对,每次调整切片和检索参数后跑一遍,看命中率变化。没有评测集,所有优化都是凭感觉。
常见坑。 文档版本不统一导致新旧内容混用;切片太粗召回不准、太细丢失上下文;权限隔离没做,问 A 部门的事查到 B 部门的文档。
我们团队 18 年定制开发经验,RAG 项目按 "知识库治理 --- 检索调优 --- 生成提示词" 三段交付,源码可长期维护,技术问题欢迎交流。