最近在做一个垂直领域的知识库问答,用的是经典的 RAG 流程:PDF 切块(按段落,大概 200-300 token)→ embedding(bge-m3)→ 向量检索(top 20)→ bge-reranker 重排取前 5 喂给 LLM。但发现一个很头疼的问题:很多情况下,正确答案明明在库里,但召回的 top 20 里只有一两段是真正相关的,其余全是那种“提了一嘴关键词但实际在讲别的事”的段落,尤其是一些总结性句子或者目录里的词条。重排后虽然能把正确段落提上来,但偶尔还是会被另外几段“看着相关”的垃圾文本挤掉。试过调 chunk 大小、换过检索方式(混合检索也试了),效果都不太稳定。想问问大家,这种“语义重合但实际无关”的噪声,除了继续调重排模型阈值,还有什么工程上的处理思路吗?比如对段落做更细粒度的主题聚类,或者是不是该在召回阶段就上多路召回再融合?