检索调优、降级与效果评估
约 507 字大约 2 分钟
布欧-Lewyon
2026-06-08
首页 › Agent Spring Boot › RAG 检索增强
可调参数
| 参数 | 默认 | 调高效果 | 调低效果 |
|---|---|---|---|
rag.search.top-k | 3 | 更多上下文,Token 涨 | 可能漏相关段 |
rag.search.similarity-threshold | 0.5 | 更严,噪声少 | 更松,召回多 |
| 文章 embedding 文本 | title+content | — | 只 embed content 会弱化标题命中 |
常见问题与排查
检索结果为空
- 是否执行过
POST /api/articles/reindex - Embedding API 是否可用(看日志
apiAvailable) - threshold 是否过高
回答与知识库无关
- 预检索是否命中(日志打印 similarity)
ragvssearchmode 是否选对- system 里 RAG 片段是否被长期记忆挤掉
关键词兜底质量差
- 样例文章太短;中文分词过粗
- 解决:修复 Embedding API,或加同义词表
评估方法(Demo 级)
准备 10 个问题和标准答案要点:
Q: Spring Boot 如何配置多数据源?
期望: 命中 article id=3,回答含 dynamic-datasource 关键词记录:
- Hit@K:TopK 是否包含期望文章
- 回答是否引用检索内容(人工打分 1-5)
不必一上来就上 RAGAS;表格 Excel 即可。
Hybrid 改进方向
当前:向量 或 关键词。可进阶:
- 两路各取 Top5,合并去重
- 对合并结果用 cross-encoder 重排(需额外模型)
- 换 PGVector + HNSW 索引
生产清单
学习点
- threshold 与 top-k 是第一轮调参抓手。
- reindex 是运维必操作,SQL 导入后别忘了。
- 评估先 Hit@K,再评生成质量。
小结
- 调
top-k、similarity-threshold和 embedding 拼接策略。 - Embedding 挂掉时关键词兜底,要会看日志确认走了哪条路。
- 规模变大前就要规划 VectorStore 迁移。
