最近在搭一个RAG系统,用的bge-large做embedding,Chunk大小设了256,重叠64。但发现用户问一个具体问题(比如“合同里违约金比例是多少”),检索出来的top-5片段经常只有一两个真正相关,其他都是无关内容,导致LLM回答时经常被带偏。试过调高相似度阈值,但又容易漏掉有用信息。有没有大佬遇到过类似问题?是chunk策略不对,还是得在检索后加一层reranker?或者直接让LLM自己过滤?求指点,谢谢。
最近在搭一个RAG系统,用的bge-large做embedding,Chunk大小设了256,重叠64。但发现用户问一个具体问题(比如“合同里违约金比例是多少”),检索出来的top-5片段经常只有一两个真正相关,其他都是无关内容,导致LLM回答时经常被带偏。试过调高相似度阈值,但又容易漏掉有用信息。有没有大佬遇到过类似问题?是chunk策略不对,还是得在检索后加一层reranker?或者直接让LLM自己过滤?求指点,谢谢。
这个思路不错,收藏了。
加个reranker最直接,bge-reranker-base先筛一遍能砍掉大半噪音。
加个reranker吧,top-5先粗召回再精排,比调阈值靠谱多了。
加个reranker效果立竿见影,bge-reranker-base接上试试,top5能压到两三个真相关的。