最近自己在搭一个基于本地知识库的RAG系统,用的bge-large做embedding,chunk大小设成了512。实际测试时,top-k检索返回了10个chunk,但LLM(qwen2.5-7b)经常把不相关的信息也揉进回答里,导致输出又长又偏。我想只让模型聚焦最相关的1-2个chunk,但又怕丢失关键细节。试过调低相似度阈值,结果有时直接没内容返回。请问大家是怎么控制检索“精度”的?是调整chunk大小、rerank、还是Prompt里加限制?求具体踩坑经验。
楼主
2小时前
RAG系统检索到的文档太多,怎么让LLM只挑有用的回答?
请 登录 后发表回复
全部回复
共 1 条
2楼
37分钟前
我之前也踩过类似的坑,后来试了rerank模型,比如bge-reranker-v2-m3,直接对top-10的结果重新排序,只取前2-3个给LLM,效果提升挺明显的。chunk大小我后来改成了256-300,反而更精准,长文档用滑动窗口切,关键信息不会丢。Prompt里加指令也行,像“只基于最相关的一段回答,不要额外补充”,但得配合rerank才能稳定。你试试看,调相似度阈值容易翻车,不如rerank靠谱。