RAG防幻觉三板斧实测,Prompt约束+低温度+空检索兜底全通过

在企业知识库问答场景中,防止大模型生成幻觉内容至关重要。本文通过实测验证了三种防幻觉策略的有效性:系统提示词约束、将生成温度调至0.3以及空检索兜底机制,并展示了它们如何协同工作以确保答案的准确性和可...

人工智能

在构建企业内部知识库问答系统时,一个核心挑战是如何避免大模型产生"幻觉"——即生成与事实不符的内容。这种问题不仅可能导致信息误导,还可能带来实际业务风险。例如,当员工询问"年假几天"时,如果系统错误地回答"15天"而实际规定是5天,这将直接导致人力部门需要承担责任。

为了解决这个问题,作者设计并测试了三种防幻觉策略,分别从不同层面入手,最终通过三道超纲题的完整回答原文检验其有效性。这些策略包括:系统提示词立规矩、将生成温度调低至0.3,以及空检索兜底逻辑。

第一板斧:系统提示词立规矩

最直接的防线是通过系统提示词明确规则。作者的系统提示词包含三条核心规则:只能根据参考资料回答,未找到的信息需明确说明;回答中引用资料时必须标注出处;回答使用简体中文且条理清晰。为了实现引用标注的闭环,检索回来的切片会先编号,然后拼入提示词中,这样回答中的引用标记就能与上下文对得上。

文章配图

例如,在测试中当被问及"公司年终奖什么时候发"(三份文档均未提及)时,系统正确回答:

> 知识库中未找到相关内容。现有参考资料仅涉及员工考勤管理制度 [资料1]、请假与休假管理办法 [资料2][资料3] 以及差旅费报销管理规定 [资料4],均未提及年终奖发放时间的相关信息。建议您咨询人力资源部或查阅薪酬福利相关的制度文件。

这个设计不仅拒绝了不相关的问题,还告知用户当前知识库的内容范围,提升了用户体验。

第二板斧:温度压到0.3

知识库问答的核心需求是稳定复述而非创造性输出。因此,作者将生成温度从常用的0.7调低至0.3。温度值直接影响采样分布,值越高,低概率词被选中的机会越大,输出轨迹越不稳定。而0.3的温度设置使得同样的检索结果多次提问时答案措辞基本一致,格式也更加稳定,有利于后续的溯源和验证。

第三板斧:空检索兜底

除了生成侧的控制,检索侧的质量同样重要。当检索结果为空时,系统需要有兜底逻辑来处理这种情况。通过这种方式,可以防止模型基于不相关或错误的检索结果生成答案。

实测效果

通过三道超纲题的实测,这三道防线全部有效阻止了幻觉内容的生成。无论是编造新规则、修改数字,还是答非所问,系统都能正确识别并拒答。这种分层防御机制为知识库问答系统的可靠性提供了有力保障。

图中清晰展示了这三道防线的工作流程:首先通过系统提示词限制生成内容,其次通过降低温度压缩自由发挥的空间,最后通过空检索兜底机制确保在检索失败时也能正确处理。