最近在做一个企业知识库问答的RAG系统,用的langchain+faiss,embedding是bge-large-zh。本地测试的时候召回和生成都还行,但一上线(并发一高)就各种答非所问,甚至问A答B。我检查了检索结果,发现召回的top3里经常混着完全不相关的片段,但单独调小chunk(从500调到200)之后召回是准了,可回答又变得碎片化,经常漏掉关键信息。
现在很困惑,到底是embedding模型在长文本场景下不够强,还是我的检索策略(比如混合检索、重排)没做对?有没有大佬遇到过类似问题,怎么平衡chunk大小和上下文完整性?另外线上环境是否需要单独的向量化服务,还是直接复用推理服务就好?求真实经验,别上来就让我看文档,看了好几天了。