最近在做一个内部知识库的问答机器人,用的LangChain + Chroma + OpenAI embedding。文档是几十页的产品手册,我按512字符切块,重叠50字符。现在问题是:用户问“A功能和B功能有什么区别”,系统召回的内容总是只包含A或者只包含B,拼出来的答案很片面。我试过把chunk调大到1000字符,结果噪音变多,相关性反而下降。也考虑过换BGE或bge-m3,但不太确定问题到底出在切分策略还是embedding本身。有没有大佬遇到过类似情况?你们一般怎么定位这种“召回语义不完整”的问题?