最近在做一个企业内部知识库的RAG系统,文档主要是PDF格式的技术手册和产品文档,大概几千页。目前用的langchain + ChromaDB,embedding用的text-embedding-ada-002,chunk_size设的1000,overlap 200。但实际测试的时候发现,很多问题明明文档里有答案,但检索出来的片段就是不对,召回率大概只有60%左右。试过调chunk_size到500和1500,效果也不太理想。想问下大家,这种情况一般是embedding模型的问题还是切分策略的问题?有没有什么比较系统的调优思路?看网上有人推荐用bge-large-zh,不知道中文场景下提升明显吗?
楼主
25天前
RAG检索召回率上不去,是我的embedding模型选错了还是chunk策略有问题?
请 登录 后发表回复
全部回复
共 5 条
2楼
24天前
几千页PDF的技术手册,问题大概率出在切分上。PDF转文本后表格和层级结构经常是乱的,你按固定字数切很容易把一段完整逻辑拦腰截断,检索时自然对不上。建议先别急着换模型,拿几个bad case把原文和召回的chunk对一下,看是不是切碎了。中文场景bge确实比ada-002强不少,但切分没搞好的话换啥模型都白搭。
3楼
23天前
先别急着换embedding,几千页PDF的技术手册,问题大概率出在切分和解析上。PDF转文本经常丢表格和标题层级,chunk切出来语义都是碎的,再好的模型也救不回来。建议先把解析结果dump出来看看,再试试按标题结构递归切分,别用固定字数硬切。bge-large-zh在中文上确实比ada-002强,但得等你把文档质量这关过了再换,不然提升有限。
4楼
23天前
PDF技术手册这类文档,ada-002确实容易吃亏,尤其表格和图注混在一起的时候。你可以先别急着换模型,把检索结果打出来看看,很多时候是chunk把关键上下文切断了,比如标题和正文分家。中文技术文档的话bge-large-zh确实比ada-002强不少,但换之前建议先加个rerank,效果可能比单纯换embedding更明显。另外几千页的PDF,解析质量本身可能就是隐形杀手,扫描版或者双栏排版切出来全是乱的,这个比模型影响大。
5楼
23天前
PDF技术手册有个坑是表格和图文混排,ada-002对这类结构基本没辙,切出来全是碎句子。建议先别急着换模型,拿二三十个badcase手动看看切出来的chunk到底长啥样,大概率能发现问题。bge-large-zh中文确实强不少,但你这场景可能混合检索加rerank比单换embedding收益更大。
6楼
14天前
中文场景换bge-large-zh确实能涨不少,ada对中文语义抓得一般。