大模型幻觉的解决方案

一、幻觉本质(一句话记住)

 
模型不知道自己不知道,只会按语言规律 “编得通顺”。
 
幻觉 = 事实错误 + 数据编造 + 逻辑瞎编。
 

 

二、最有效、最落地的 8 大解决方案

 

1. RAG 检索增强(最核心、最有效)

 
强制模型只使用外部知识库回答,不让它用训练数据瞎编。
 
  • 检索来源:ES、向量库、MySQL、Excel、文档
  • 规则:无检索结果 → 直接说不知道
  • 效果:能解决 80% 幻觉
 

 

2. Prompt 强约束(最简单有效)

 
直接在 Prompt 里写死规则:
 
plaintext
 
 
1. 只使用提供的资料回答,不允许编造。
2. 不知道就说“暂无相关信息”,不许推测。
3. 不添加资料里没有的时间、数字、人名、政策。
4. 不确定的内容不要回答。
 
 
低温度(temperature ≤ 0.2) 大幅减少幻觉。
 

 

3. 降低温度 temperature

 
  • 创作:0.7~1.2
  • 知识库 / 客服 / 问答:0.1~0.3
     
    温度越低,越保守、越不瞎编。
 

 

4. 检索结果做 “事实校验”

 
两种做法:
 
  1. 模型自查
     
    让模型自己检查:
    • 这句话是否来自资料?
    • 是否有编造?
     
  2. 规则校验
     
    禁止输出:
    • 电话、网址、时间、金额、政策
    • 不在知识库白名单里的实体
       
      直接拦截。
     
 

 

5. 只给 “高置信度” 检索片段

 
不给模型一堆杂乱内容,只给:
 
  • Top3~5 最相关片段
  • 提前去重、过滤低相关
  • 长内容先摘要压缩
 
模型看到的信息越干净,越不乱编。
 

 

6. 结构化输出(强制格式,减少自由发挥)

 
让模型按固定格式输出,比如:
 
json
 
 
{
  "answer": "回答内容",
  "source": "来自哪条知识库",
  "is_factual": true/false,
  "confidence": 0.95
}
 
 
格式越死,幻觉越少。
 

 

7. 加 “拒答机制”

 
满足以下任一条件,直接不回答:
 
  • 检索结果相关性 < 阈值
  • 无匹配知识
  • 问题超出领域
  • 问题模糊 / 歧义
 
话术:
 
暂无相关信息,请换个问法。
 
 

 

8. 事后监控 + 人工审核

 
  • 记录所有回答
  • 标记幻觉
  • 自动复审
  • 加入黑名单 / 纠错库
 
这是企业级必做
 

 

三、最推荐的组合方案(企业标准架构)

 

最强抗幻觉架构 = RAG + 强 Prompt + 低温 + 校验 + 拒答

 
plaintext
 
 
用户问题 → 检索 → 过滤Top5 → 构建Prompt → 低温生成 → 事实校验 → 返回/拒答
 
 
这套能把幻觉压到 几乎为 0
 
posted @ 2026-02-27 16:36  士三刀  阅读(29)  评论(0)    收藏  举报