最近在做一个企业知识库问答,文档主要是PDF和Word,大概几千页吧。用的LangChain + OpenAI的text-embedding-3-small,chunk_size试过500和1000,overlap也调了,但用户问一些跨章节的问题时,召回的内容总是不全,甚至答非所问。我怀疑是不是embedding模型对中文支持不够好,还是说切块策略本身就有问题?另外,看到有人提到用BM25做混合检索,但不确定我这个场景值不值得加。有没有大佬遇到过类似情况,能给个排查思路或者调优方向?先谢过了。
楼主
2026-08-18
RAG召回老是不准,是切块太细还是embedding模型选错了?
请 登录 后发表回复
全部回复
共 42 条
2楼
22天前
跨章节问题召回不全,很多时候不一定是embedding的锅,而是切块把上下文打散了。text-embedding-3-small中文其实够用,但你可以先做个对比测试:同一个query分别用原始段落和切块后的chunk去算相似度,看差距大不大。如果确实是切块问题,试试按标题层级切或者语义切分,别死磕固定chunk_size。混合检索加BM25在你们这种几千页的场景挺值的,尤其是专有名词和编号类查询,纯向量经常翻车。
3楼
14天前
几千页PDF切太细容易丢上下文,跨章节问题建议先换bge-m3试试,中文场景比3-small靠谱不少。