AI PLAY玩法更新持续收录
← 回到更新流

2026-09-03 · 原文发布日

给 AI 回答做联网事实核验并分级告警

给 AI 回答做事实核验的模板:外部系统把问题和答案 POST 到 webhook,工作流先调搜索接口取回相关结果摘要,再让 GPT-4 Turbo 对照来源给出置信度、理由和 SAFE/SUSPICIOUS/HALLUCINATED 三级判定;安全结果直接返回调用方,可疑的发 Slack 提醒,判定幻觉的发 Gmail 严重告警,适合接在自有 AI 应用后面做质检。

原文要点

WeblineIndia 在 n8n 模板库发布的免费工作流:外部系统把问题与 AI 答案 POST 到 /hallucination-check webhook,工作流用问题调 Google/Serp 类搜索接口取回前列结果,整理成来源清单后交给 OpenAI GPT-4 Turbo,要求返回含置信度、理由和 SAFE/SUSPICIOUS/HALLUCINATED 三级分类的 JSON;SAFE 直接回给调用方,SUSPICIOUS 发 Slack 频道消息,HALLUCINATED 发 Gmail 严重告警。设置要点:替换搜索接口占位 URL 与 X-API-KEY,配置 OpenAI、Slack、Gmail 凭据,并把 Gmail 里的 your_email_here 换成真实收件人。

这次做成什么

在 n8n 里搭一条 webhook 质检线:任何自有 AI 应用回答完用户后,把问答对推过来,自动联网搜索、让模型对照来源判级,并按级别分流告警。

准备什么

  • 一个可自托管或云端的 n8n 实例,能开启 webhook 并接受公网 POST
  • OpenAI 账号且 GPT-4 Turbo 对该账号可用,并在 n8n 建好凭据
  • 任一 Google/Serp 类搜索 API 的接入地址与 API Key(原文用占位符,需自购)
  • 一个 Slack 工作区及目标告警频道,一个可发信的 Gmail 账号

具体怎么做

  1. 建 webhook 入口

    新建工作流,加 Webhook 节点,方法 POST,路径填 /hallucination-check。先用测试 URL,从你自己的 AI 应用或 curl 发送 {"question":"...","answer":"..."},确认能收到两个字段。

  2. 调搜索接口取证

    加 HTTP Request 节点,URL 先保留占位,替换为你搜索服务商的真实端点,Header 加 X-API-KEY 填你的 Key,查询参数用 {{$json.question}}。运行一次确认返回结果列表。

  3. 整理来源清单

    加 Set 或 Code 节点,把返回的前 3–5 条结果压缩成 sources 数组,每条含 title 与 snippet 两个字段,拼成紧凑文本块,供下一步提示词引用。

  4. 让 GPT-4 Turbo 判级

    加 OpenAI 节点选 GPT-4 Turbo,用下方提示词,把 question、answer、sources 注入,要求只输出 JSON(confidence、reasoning、classification)。收到后加一个 JSON 解析步骤取出 classification。

  5. 按级别分流

    加 Switch 节点按 classification 分三路:SAFE 走 Respond to Webhook 把判定 JSON 原样回给调用方;SUSPICIOUS 走 Slack 节点向选定频道发含问答与理由的消息;HALLUCINATED 走 Gmail 节点,把收件人 your_email_here 换成你的告警邮箱,主题标注严重级别。

可直接复制的材料

判级提示词(本站独立撰写,可直接粘贴到 OpenAI 节点)

提示词为本站撰写;置信度是模型自评的参考值,不代表真实准确率,阈值分流规则可按需调整。

你是一名事实核验员。请根据下面给出的联网搜索来源,判断 AI 答案是否与来源一致,还是缺乏依据或与来源冲突。

【用户问题】
{{$json.question}}

【AI 答案】
{{$json.answer}}

【搜索来源】
{{$json.sources}}

判定标准:
- SAFE:答案的关键事实能被至少一条来源直接支持;
- SUSPICIOUS:来源不足、部分支持或表述模糊,无法确认也无法否定;
- HALLUCINATED:答案与来源明确冲突,或关键事实(人名、数字、日期、结论)在任何来源中都找不到依据。

只输出一个 JSON 对象,不要输出其他文字:
{"confidence": 0到100的整数, "reasoning": "不超过150字的中文理由,引用具体来源", "classification": "SAFE或SUSPICIOUS或HALLUCINATED"}

测试 POST 数据(合成)

字段名必须与 webhook 入口一致;搜索接口端点与 Key 需替换为你自己的服务商,本文为方案示意,未实测。

{"question":"2024年巴黎奥运会中国队获得多少枚金牌?","answer":"中国队在2024年巴黎奥运会上获得了40枚金牌,与美国并列金牌榜第一。"}

输入与输出示例

本站虚构演示,未实际运行工作流,模型真实输出每次可能不同。

输入

{"question":"2024年巴黎奥运会中国队获得多少枚金牌?","answer":"中国队在2024年巴黎奥运会上获得了40枚金牌,与美国并列金牌榜第一。"}

对应输出

{"confidence":92,"reasoning":"多条搜索来源均显示中国队获40枚金牌,与美国并列金牌榜首,答案与来源一致。","classification":"SAFE"},该结果走 Respond to Webhook 分支直接回给调用方;若把答案改成“获得52枚金牌”,预期输出 classification 为 HALLUCINATED 并触发 Gmail 严重告警邮件。

做完检查这些

  • curl POST 到 /hallucination-check 后,能在 n8n 执行记录里看到 question 与 answer 两个字段完整到达
  • HTTP Request 节点返回真实搜索结果,且整理后的 sources 里每条都含标题与摘要
  • OpenAI 节点输出能被解析出 classification,且三种取值在 Switch 节点各有对应分支
  • 构造一个明显错误的答案测试时,Slack 或 Gmail 分支确实收到对应级别的消息

容易卡住的地方

  • 搜索接口 URL 与 X-API-KEY 是占位符,不替换会导致 HTTP 节点 401 或超时,整条流程卡死
  • GPT-4 Turbo 是否可用取决于你的 OpenAI 账号,账号无权限时需在 n8n 里换可用模型
  • 模型可能不严格输出纯 JSON,建议解析失败时默认按 SUSPICIOUS 处理并告警
  • Gmail 节点的 your_email_here 必须替换,否则严重告警发到无效地址
  • 免费模板本身不收模板费,但 OpenAI、搜索 API、Gmail/Slack 用量可能各自计费

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Validate AI answers with Google search, OpenAI GPT-4, Slack and Gmail alerts
原作者
WeblineIndia
原始发布日期
2026-09-03T12:54:06.276Z
来源
https://n8n.io/workflows/19129