最近在搭一个垂直领域的 RAG,用的 bge-m3 做 embedding,chunk 按 512 字切,overlap 50。检索用的 faiss,召回 top20 再过一个 bge-reranker 取 top5,结果喂给 qwen 后经常答非所问。我看了下召回的片段,感觉相关段落确实在,但被切碎了,实体和结论被拆到不同 chunk 里。重排后虽然排在前面,但上下文不完整,LLM 没法拼出来。也试过调大 chunk 到 800,感觉好一点但检索精度又降了。想问问大家,这种是不是应该先做摘要/父文档召回?还是说 rerank 模型选得有问题,或者切分策略本身就不适合领域文档?求有经验的指点一下,不想再去盲调参数了。
楼主
6天前
RAG检索老召回无关片段,重排后效果还是不行,是切分还是 rerank 姿势不对?
请 登录 后发表回复
全部回复
共 2 条
2楼
6天前
你这情况明显是切分问题,实体都拆散了rerank再强也白搭,试试父子chunk召回吧。
3楼
4天前
你这情况我太熟了,bge-m3切512对垂直领域确实容易把结论和论据拆散。建议先别折腾rerank,试试父子分块,父块放结论句子、子块做检索,召回到子块再映射回父块,上下文完整度立马上来。另外rerank模型可以试试bge-large或cohere的,对长文本更友好,不过大概率还是切分问题。