最近在搭一个私有知识库的RAG问答,用的bge-m3做embedding,存到Milvus里,top-k取5。但实际问出来效果很拉胯,比如问“项目延期了怎么处理”,召回的文档全是“项目进度计划”这种泛泛的内容,没有真正命中风险应对那几段。我试过调distance阈值,也换过余弦和IP,还是没啥改善。想问问有经验的大佬,这种“查得着但召不准”的情况,通常是embedding对长文本切分太粗导致的,还是说检索阶段应该加rerank?另外有没有必要上混合检索(BM25+向量)?我现在有点迷茫,不想一上来就堆一堆组件,但又怕漏了关键环节。