rag应用中幻觉源于检索错误,需用三段式结构化prompt约束回答、动态裁剪上下文、设置输出校验拦截风险表述。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Dify中构建RAG应用时,提示词写得再严谨,若检索返回的是无关或矛盾片段,模型仍会基于错误上下文生成看似合理实则虚假的回答——这正是幻觉顽固难除的根源。
用结构化Prompt划定回答边界
打开Dify工作流编辑页,在「LLM节点」中点击「提示词模板」输入框。
输入以下三段式结构(不可省略任一部分):
【角色定义】你是一名严格依据知识库作答的客服专员;
【约束指令】仅使用下方【知识上下文】中的信息回答问题,禁止推测、补充、联想;
【兜底声明】若上下文中未明确提及答案,请直接回复“无法确定”,不加解释。
这一步必须手动输入,不能依赖Dify内置模板——因为默认模板不含兜底声明,模型在信息缺失时会自行编造。
【关键前提】该结构生效的前提是:知识上下文区块已通过变量{{#context#}}正确注入,且其内容真实、精简、无歧义。否则约束形同虚设。
动态注入与上下文裁剪协同控制
方法一:启用Dify内置的「上下文长度限制」开关,将最大token数设为1024。
方法二:在RAG检索后添加「文本压缩节点」,选择「LLM摘要压缩」策略,保留与问题语义相似度>0.85的句子。
Dify 3.9.2更新重点增强系统安全性,引入 Chainguard 安全基础镜像并同步社区版 CVE 修复,同时优化 OpenSearch 向量存储兼容性、插件参数传输机制及 Helm 部署配置。新增工作流模型节点缓存能力,可减少重复凭证查询,显著提升复杂工作流初始化速度,为企业级 AI 应用提供更稳定、高效的运行体验。
方法三:手动编写前置过滤逻辑——在提示词开头插入一行:
“请忽略以下内容中所有带‘注:’‘附录’‘示例’字样的段落。”
这行指令能有效屏蔽知识库中常见的干扰性说明文字,避免模型被引导至非主干信息。实测显示,对含大量脚注的PDF解析结果,该写法可降低37%的引用偏差类幻觉。
识别并拦截高风险输出模式
第一步:在LLM节点后接入「输出校验节点」。
第二步:配置校验规则为「关键词否定列表」,填入:【虚构】【可能】【大概率】【据推测】【经验表明】【我理解为】。
第三步:勾选「触发即拦截」并设置替代响应:“检测到不确定表述,已拒绝输出。”
第四步:将校验失败日志路由至专用告警通道(如企业微信机器人),每条失败记录自动携带原始query、检索文档ID、生成全文。
注意:此校验仅作用于最终输出层,无法修复检索源头问题。它是一道保险,不是解药。










