最近在做企业知识库问答,用bge-m3做embedding,top-k取了5,召回的内容人工看了相关度很高,但GPT-4o生成时经常把不同文档里的数字和结论混在一起编。我试过调低temperature到0.1,也加了system prompt要求“仅基于给定材料回答”,但效果不稳定。更奇怪的是,有时候明明召回文档里没有的信息,模型也会一本正经地补全。想问问大家,这种“召回准但生成飘”的情况,是应该换更小的模型(比如7B)减少幻觉,还是要在prompt里做更强制性的约束?或者有没有什么rerank之外的后处理技巧?先谢过各位。