一句话总结:通过 Hybrid Search、Cross-Encoder Reranker 和 Query Rewrite 三板斧,泽衍科技将客户 RAG 检索 Top-5 准确率从 62% 提升至 93%,用户满意度从 3.2 升至 4.6。
背景
客户的企业知识库 RAG 系统上线后,用户反馈”经常搜不到”或”答非所问”。经评测,Top-5 检索准确率仅 62%。
诊断过程
我们逐步排查了四个环节:
- 文档解析质量:15% 的 PDF 表格解析错误 → 修复解析流水线
- 分块策略:固定 512 token 切分导致语义断裂 → 改为语义分块 + 父子索引
- 检索策略:纯向量检索对专业术语效果差 → 引入 Hybrid Search
- 排序质量:向量分数不能反映真实相关性 → 加入 Cross-Encoder Reranker
关键优化
Hybrid Search
最终分数 = α × 向量相似度 + (1-α) × BM25 分数
对专业术语和精确匹配场景,BM25 贡献显著。我们通过 A/B 测试确定 α=0.6。
Reranker
对 Top-20 候选用 bge-reranker-v2-m3 重排序,取 Top-5 送入 LLM。这一步将准确率从 78% 提升到 91%。
Query Rewrite
用户口语化提问 → LLM 改写为标准检索 query,例如:
- 用户:「年假怎么算」→ 改写:「员工年假天数计算规则与申请流程」
最终效果
| 指标 | 优化前 | 优化后 |
|---|---|---|
| Top-5 准确率 | 62% | 93% |
| 用户满意度 | 3.2/5 | 4.6/5 |
| 平均检索延迟 | 1.2s | 1.8s |
延迟略有增加,但用户满意度大幅提升。后续通过缓存热门 query 将 P95 延迟控制在 2s 以内。
常见问题
RAG 检索准确率多少算合格? Top-5 准确率 ≥ 85% 为生产可用线,≥ 90% 为优秀。低于 80% 用户会频繁反馈「搜不到」。
优化 RAG 应该先改哪个环节? 先查 文档解析质量(15% 的问题出在这里),再调分块策略,最后才调检索和 Reranker。
Reranker 用什么模型? 中文场景推荐 bge-reranker-v2-m3,英文可用 Cohere Rerank。泽衍科技项目默认 bge-reranker-v2-m3。