10_生成端的最后一道闸_引用编号校验与两道拒答

发布时间:2026/10/9 7:54:55

10_生成端的最后一道闸_引用编号校验与两道拒答 生成端的最后一道闸引用编号、校验和两道拒答很多人把 RAG 的成败全押在检索得准不准上。但检索做得再好最后一步没约束住就是白做——模型可以无视检索结果自己编一段通顺但错误的话出来。这篇讲我在生成端加的三道约束。一、引用既要编号又要校验给模型加提示词约束只是第一层1. 每个结论后标注来源编号如 [1][2] 2. 只使用提供的文档不得夹带文档之外的知识 3. 若文档不足以回答直接输出 NO_ANSWER但只有这三句是不够的。编号只是让根据文档所述变得可验证校验才是让编号不是装饰。没有校验时带引用就是纯粹的装饰——模型完全可以编一个[3]出来而[3]在原文里根本不存在。所以我加了一个extract_cited步骤把答案里出现的所有[n]抽出来逐个比对检索回来的文档看这个编号是不是真被引用了、对应内容是不是真在那个文档里。引用校验是唯一能被自动化发现的幻觉信号。模型编一段假话你很难自动判断但模型编一个不存在的[3]是可以被代码抓住的。实测瞎标率 0/29。这不是说模型不会幻觉了是说乱编引用这一种幻觉被堵住了——剩下的幻觉要靠 LLM-as-judge 去抓那是下一周的事。二、两道拒答闸门是被数据逼出来的答不上来就拒答是 RAG 的基本功。但拿什么判断该拒答我一开始想当然用了向量相似度结果被实测数据打脸组向量相似度 p50命中组有答案0.775未命中组没答案0.749几乎一样。因为 API 文档语料高度同质化一个域外问题和域内问题向量分都落在 0.75 上下余弦根本区分不了像不像和能不能回答。所以我把拒答拆成了两道闸门闸门①检索侧阈值 0.40只挡跑题的。域外问题向量分落在 0.236~0.397全拦下而且这一步成本是 0——不用调 LLM闸门②生成侧兜住域内但答非所问的——域内问题向量分不低但文档里其实没有答案交给模型自己输出 NO_ANSWER。两道都要有不是设计癖好是被数据逼出来的。余弦这道闸只能挡明显的域外问题挡不住看着相关但答案不在文档里的后者只能靠模型。三、为什么拒答阈值用向量余弦而不是融合分既然有了混合检索为什么不用融合分RRF做阈值因为融合分是1/(60名次)的累加取值范围只有0.016~0.033——这么窄的区间根本选不出有意义的阈值而且换个 k 值全部失效。向量余弦是 0~1语义直观“低于 0.40 就不答”谁都听得懂、也好调。四、三道闸实测的拒答率50 条 golden set 18 条拒答集三种模式的拒答率模式abstain_rate纯向量0.16纯 BM250.28混合0.20拒答率不是越高越好也不是越低越好——它是准确拒答的比例。纯 BM25 拒答率最高0.28但这不代表它最好因为拒答率要跟该拒的有没有拒、不该拒的有没有误拒一起看。这正是评测要回答的问题下一篇讲。小结结论数字 / 事实引用要编号 校验编号可验证校验是唯一自动幻觉信号瞎标率 0/29两道拒答闸门余弦挡域外成本 0 模型兜域内余弦分不了像不像和能不能答命中 0.775 vs 未命中 0.749几乎一样拒答阈值用余弦不用融合分融合分 0.016~0.033 太窄闸门①阈值0.40域外问题 0.236~0.397 全拦上一篇混合检索为什么用 RRF。下一篇给 RAG 建 baseline。
延伸阅读

更多相关文章

2026/10/9 7:49:55

老旧设备串口联网改造:RS232/RS485如何接入工业互联网

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 7:49:55

用Dify与DeepSeek搭建拍照解题工作流:OCR+提示词设计实战

1. 先说说我为什么折腾这套拍照解题起因其实挺简单。我那段时间经常要帮家里小孩看作业,从小学数学到初中物理都混着来。试过市面上一些拍照搜题App,答案倒是快,但有两件事让我很不爽:一是它只给答案不解释思路,小孩看…

2026/10/9 7:49:55

具身智能热潮背后:商业路径、技术瓶颈与产业落地

1. 热潮之下:先算一笔"鱼价"的账最近这一年,具身智能的热度已经到了让人无法忽视的地步。从一个做机器人本体、做灵巧手、做操作系统的朋友,到一级市场看项目的投资人,再到互联网大厂里研究战略的同行,几乎每…

2026/10/9 8:55:17

从零跑通大模型应用全链路:模型选型、OCR、知识库与Agent框架实战

大模型这两年从“新鲜玩意”变成了日常工具,但真正落到自己手里跑通一条完整链路的人其实没想象中多。我身边不少朋友的状态是:聊天窗口里用得挺溜,一到要接自己的数据、要批量处理文档、要搭一个能持续用的服务,就卡住了。这篇东…

2026/10/9 8:55:17

给Claude Code装上长期记忆:claude-mem如何突破上下文窗口限制

如果你也在用 Claude Code 干活,多半遇到过同一个尴尬:上一个会话里刚交代清楚的偏好,下一个会话它全忘了。我折腾 claude-mem 之前,几乎每天都要把“接口返回格式用 camelCase”“日志必须打印 requestId”“测试命令用 pnpm tes…

2026/10/9 8:55:17

Python统一身份认证服务设计与实现:JWT多端登录毕设项目全解析

最近来问毕设选题的同学特别多,十个里有七八个都在犹豫做什么才能既好写又能顺利答辩。我个人的建议非常明确:如果你不想被简单管理系统卷死,又没精力挑战算法难度,那用 Python 做一个统一身份认证服务,绝对是性价比很…

2026/10/9 8:55:17

pytest自动化测试失败现场回放:自动截图与日志捕获机制详解

自动化测试跑完一看报告,一堆失败用例,但是除了一个红叉和一个异常栈之外什么线索都没有——这种体验我相信做自动化的小伙伴都经历过。尤其是UI自动化,定位元素失败、弹窗遮挡、网络延迟导致的加载慢,光靠报错信息很难还原现场。…

2026/10/9 8:55:17

PHP性能优化实战:从版本选型到代码、并发与SQL的完整地图

做PHP做了这么多年,隔三差五就会看到有人在技术群里问“PHP怎么优化”。问的人多了,答案也很散:有人说换PHP 8,有人说开OPcache,有人上来就让你上Redis、上队列。说实话这些都对,但如果你脑子里没有一张完整…

2026/10/9 8:50:15

空气悬架建模实战:从变刚度原理到控制标定全流程解析

坐进一台配了空气悬架的车,从一段满是补丁的国道上下来,你大概率会忍不住感叹一句“这底盘是真的舒服”。但这份体感背后并不是玄学,真正让它和普通螺旋弹簧拉开差距的,是空气弹簧本身的变刚度特性。要把这种特性吃透、真正用于产…

2026/10/8 10:03:18

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/8 10:03:20

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 0:04:27

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略当数万字的学位论文初稿经历开题、实验、问卷与多轮文献梳理最终成形时,绝大多数研究生都会面临一道全新的形式审查关卡:AIGC 疑似度排查。在高校毕业审核流程中,盲审前的文本检测通…

2026/10/9 0:04:27

食堂节能改造源头工厂,商用厨房设备焕新方案广受好评

商用厨房作为餐饮经营、单位供餐的核心后勤阵地,其设备配置、动线规划与运维体系直接决定后厨作业效率、运营成本与合规性。从基础的灶具、制冷存储设备,到油烟净化、水处理等配套系统,每一个环节的合理性都与食品安全、能耗管控、消防安全挂…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑