最近在搭一个针对内部技术文档的RAG问答,用的bge-m3做embedding,chunk大概300字带50字重叠,检索top-20。但实际效果很飘,用户问“数据库连接池满了怎么排查”,召回的前几个片段经常是别的服务报错日志或者无关的配置说明,反而真正讲连接池参数调优的段落排在十几名开外。
楼主
2026-08-28
RAG检索老召回不相关片段,是分块粒度问题还是embedding选型不对?
请 登录 后发表回复
全部回复
共 22 条
2楼
24天前
300字分块对技术文档偏碎了,连接池排查这种问题答案往往散在参数说明、监控指标、日志特征好几个段落里,单个chunk装不下完整语义,embedding再准也白搭。可以试试按标题层级切,或者用bge-m3的稀疏+稠密混合检索,纯dense对这种术语密集的场景确实容易飘。另外top-20里真正相关的排十几名,说明排序阶段还有救,加个rerank比如bge-reranker-v2基本能把对的顶上来。
3楼
20天前
300字切太碎了,关键上下文容易断,试试按段落或语义切,另外top-20太宽,先收紧到5看看。