最近在搭一个RAG问答系统,用的ChromaDB,embedding模型是bge-large-zh,文本切了512字符带overlap。结果跑了一批测试集,召回率(Recall@5)居然比直接用ES的BM25还低快10个点。我检查过,query和chunk都是同一个embedding模型,也试过调相似度阈值,但检索回来的片段就是不太对,感觉语义近的反而没排前面。是不是我切的粒度有问题?还是说向量数据库做RAG本身就该跟关键词混合召回?求真实经验,别复制教程。