想象一家开在深夜的“AI 三甲医院”。值班医生是一位不知疲倦的大语言模型,几分钟就能接待一千位病人。但院长一直不放心:这位医生偶尔会“背错书”——把一种根本不存在的药说得头头是道;或者病人明明问的是皮肤过敏,他却滔滔不绝讲起心脏搭桥。前者叫幻觉(模型编造了事实),后者叫相关性不足(回答没对上问题)。在医疗、金融、法律这些错不起的领域,一次杜撰就可能酿成大祸。于是医院成立了质量监控科,给每一份诊断记录拍“X 光片”:先扫描有没有凭空捏造的内容,再检查回答是否真正回应了提问。本文就是这座“AI 医院”质控科的操作手册——教你把幻觉检测与相关性评估这两台 X 光机装起来、用起来,并让它们越用越准。

岗位关联

学会幻觉与相关性监控,等于给 LLM 应用装上一台实时质检仪:你可以在用户被误导之前发现并拦截错误回答,也能沉淀高质量样本反哺模型。这是 AI 应用从“能跑”走向“可信”的关键技能,也是医疗、金融、法律等高合规场景的入行门槛。

目录
  1. 可视化演示
  2. 幻觉来源解析:AI 医生为何杜撰病历
  3. 幻觉识别方法:症状复现测试的三板斧
  4. 检测模型选择:给质检科配备合适的阅片机
  5. 事实核查比对:翻医书逐句对出处
  6. 相关性评估:检查开药是否对症
  7. 样本收集管理:建一座会生长的病历档案库
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示大语言模型通过思维链(Chain-of-Thought)逐步推理的过程:从问题输入到分解、检索、计算和答案生成的完整链路。

本节配有交互动效(进入视口后自动加载,约 3KB)。

问题输入阶段 用户提出问题,LLM接收并解析输入文本 系统对问题进行编码,准备进入推理链 input = encode(user_question)

幻觉来源解析:AI 医生为何杜撰病历

放射科医生拿到一张 X 光片,第一步不是急着下诊断,而是先判断阴影从哪来——是骨裂、金属假体,还是胶片上的灰尘。做 LLM 质量监控也一样,想拦截幻觉,先得知道幻觉是怎么“长”出来的。

AI 医生的“杜撰”通常来自四个病灶。一是训练语料本身有错误和噪声,模型把网上的谣言当成了教科书,这是数据偏差;二是不同年代的语料互相打架,模型把过时说法当成最新结论,这是知识冲突;三是生成过程本质是“掷骰子”,每个词都按概率采样,知识缺失时只能硬凑,这是解码随机性;四是多轮对话中把用户最早给的前提记岔了,这是上下文混淆。

要理解最核心的机制,得看懂模型选词的那只“手”。LLM 本质是一个条件概率模型:给定用户输入 $x$ 和已经生成的词 $w_{<t}$,下一个词 $w_t$ 的分布由一个“指数打分归一化”的式子决定:

当知识充分时,正确词的概率像灯塔一样突出;当知识缺失时,概率摊得比桌面还平。质检科的 X 光机第一档“病灶透视”就是盯住这条概率分布:分布越平,这位 AI 医生越可能在不懂装懂,需要提前预警。

P(wt∣w<t,x)=exp⁡(zt)∑v=1Vexp⁡(zv)\displaystyle P(w_t \mid w_{<t}, x) = \frac{\exp(z_t)}{\sum_{v=1}^{V} \exp(z_v)}
这个式子把模型对每个候选词的“原始好感”转换成概率。哪个候选词得分高,被选中的概率就大;当所有词得分都差不多时,概率就摊平了,模型开始随机乱选——幻觉由此而来。
  1. 条件概率的含义$P(w_t \mid w_{<t}, x)$ 表示“在已知上文 $w_{<t}$ 和用户输入 $x$ 的条件下,下一个词是 $w_t$ 的概率”,这是续写骰子的完整表达式。
    P(wt∣w<t,x)\displaystyle P(w_t \mid w_{<t}, x)
  2. 分子为指数打分$\exp(z_t)$ 把模型对候选词 $w_t$ 的原始打分 $z_t$ 变成正数并放大差距,得分领先的词在概率中占更大份额。
    exp⁡(zt)\displaystyle \exp(z_t)
  3. 分母为全词表归一化$\sum_{v=1}^{V} \exp(z_v)$ 遍历词表中全部 $V$ 个词的指数打分并求和,保证所有候选词的概率加起来等于 1。
    ∑v=1Vexp⁡(zv)\displaystyle \sum_{v=1}^{V} \exp(z_v)
  4. 概率平坦引发幻觉当知识缺失时,各候选词的 $z_v$ 彼此接近,概率分布趋近均匀,模型只能“瞎选一个”,这正是杜撰病历的概率学根源。
    P(wt∣w<t,x)≈1V\displaystyle P(w_t \mid w_{<t}, x) \approx \frac{1}{V}

幻觉识别方法:症状复现测试的三板斧

了解了病灶,第二档是“症状复现测试”。有经验的医生会让病人换个说法重新描述症状:如果每次描述都对不上,就高度怀疑他在编。幻觉识别用的正是这个思路。

识别幻觉有四种常用手法。第一种叫自一致性检测:把同一个问题重复采样 N 次,看答案是否稳定,真知识经得起反复问,幻觉则在每次采样中漂移。第二种看置信度:生成时平均 token 概率偏低,说明骰子摇得犹豫,需要人工复核。第三种叫语义熵探测:把 N 次采样做语义聚类,再算分布的熵,熵越高说明答案越散。第四种是关键词监控:对药名、金额、日期这类高危实体做词典和正则命中检查,命中即触发复核。

自一致性是最好上手的一招,直接算“主流答案占比”:

这条公式就是复诊记录上的“三次描述是否一致”栏。病人每次复述都一样,医生才敢落笔;模型每次采样都稳定,质检科才敢放行。反之,一次一个说法,X 光片上就要亮起黄灯。

C=NmodeN\displaystyle C = \frac{N_{\text{mode}}}{N}
同一问题反复问 N 次,看最大答案簇占了多少。C 接近 1,说明医生每次说法一致,可信;C 偏低,说明回答在编造中漂移,疑似幻觉。
  1. 分子 $N_{\text{mode}}$对 N 次采样答案做语义归簇后,样本数最多的那个簇(主流答案)有多少份。簇越大,说明多数采样“说到了同一个地方”。
    Nmode\displaystyle N_{\text{mode}}
  2. 分母 $N$同一问题重复采样的总次数。工程上通常取 3 到 10 次,次数越多越稳,但推理成本也越高。
    N\displaystyle N
  3. 比值 $C$ 的语义主流答案占比。$C \approx 1$ 表示“每次复述都一样”,$C$ 明显偏低则说明每次采样都在漂移,像是病人每次换一套说辞。
    C=NmodeN\displaystyle C = \frac{N_{\text{mode}}}{N}

检测模型选择:给质检科配备合适的阅片机

X 光机分便携机、CT、MRI 好几个档位,价格、速度和精度各不同。选幻觉检测模型同样是“按病情配设备”,不能只挑贵的。

三类方案各有定位。判别式小模型把“这句话是否与上下文矛盾”当成二分类问题,跑得快、部署便宜,适合放在高并发线上做闸门;生成式裁判用最强的模型提问“这段回答有没有事实错误”,判得准但慢且贵,适合对少量高危样本兜底审核;专用检测模型则是在幻觉数据上微调过的模型,介于两者之间,需要提前准备标注数据。

无论选哪台设备,都该用一个分数横向比较——F1:

给医院采购设备,不能只看广告上的单点精度,要看综合体检报告 F1。选检测模型同理:核对准确率、延迟、单次调用成本,再对照自己业务里真实幻觉的长相,才能配出最合身的阅片机。

F1=2PRP+R,P=TPTP+FP,R=TPTP+FN\displaystyle F_1 = \frac{2PR}{P + R}, \quad P = \frac{TP}{TP + FP}, \quad R = \frac{TP}{TP + FN}
F1 是精确率 P 和召回率 R 的调和平均。它同时惩罚“误报”(把好回答判成幻觉)和“漏报”(把幻觉放过去),是选购阅片机时的“性价比体检报告”。
  1. 真正例 $TP$被模型判为幻觉、且事实上的确是幻觉的样本数,这是“抓得对”的部分,后面所有指标都建立在它之上。
    TP+FN\displaystyle TP + FN
  2. 精确率 $P$模型标为“幻觉”的结果里,真正幻觉的占比。P 低说明误报多,大量好回答会被送进人工复核,浪费人力。
    P=TPTP+FP\displaystyle P = \frac{TP}{TP + FP}
  3. 召回率 $R$真实幻觉中被成功抓出的比例。R 低说明漏报多,幻觉会溜到用户面前造成实际风险。
    R=TPTP+FN\displaystyle R = \frac{TP}{TP + FN}
  4. 调和平均 $F_1$$\frac{2PR}{P+R}$ 对 P 和 R 取调和平均,任何一项被拉低都会显著压低 F1,防止只追精度不顾召回。
    F1=2PRP+R\displaystyle F_1 = \frac{2PR}{P + R}

事实核查比对:翻医书逐句对出处

阅片机只能看出“形状不对”,要确诊必须翻权威医书。事实核查就是给 AI 医生的每句诊断配一本“医书”——企业的知识库。

做法是四步走。第一步知识库构建:把可信文档切成事实条目,比如从药品说明书中抽出“用法用量”条目;第二步检索召回:用户提问时用向量检索从知识库中找回最相关的若干片段;第三步矛盾检测:把回答拆成原子陈述,与这些片段逐句比对,看有没有被支持或被反驳;第四步核验结果融合:把每句陈述的比对结论汇总,判断整段回答的可信程度。

逐句比对的核心是一把“相似度尺子”,通常用余弦相似度计算陈述与知识条目的最大支撑分:

这把尺子就像把诊断记录上的每个结论,拿到医书目录里找对应出处。找到了、翻得够近,才算“有据可循”;翻遍全书都对不上,X 光片上就会亮起红灯,这份回答必须退回重写。

S(c)=max⁡d∈Dc⋅d∥c∥∥d∥\displaystyle S(c) = \max_{d \in D} \frac{\mathbf{c} \cdot \mathbf{d}}{\lVert \mathbf{c} \rVert \lVert \mathbf{d} \rVert}
先把陈述 c 和每个知识条目 d 都变成向量,再算两者夹角的余弦值。得分越高,说明知识库为这句陈述“背书”越强;翻遍全书都对不上,就要红灯告警。
  1. 陈述向量 $\mathbf{c}$回答中拆出的原子陈述经过嵌入模型转换成的向量,相当于把这句话“翻译”成语义空间里的一个坐标点。
    S(c)\displaystyle S(c)
  2. 文档向量 $\mathbf{d}$知识库中每条事实也被映射到同一个语义空间,等待与陈述比对。
    c⋅d\displaystyle \mathbf{c} \cdot \mathbf{d}
  3. 余弦相似度分子是两向量的点积,分母是两向量模长的乘积,结果只与“方向是否一致”有关,与句子长短无关,适合比较语义。
    c⋅d∥c∥∥d∥\displaystyle \frac{\mathbf{c} \cdot \mathbf{d}}{\lVert \mathbf{c} \rVert \lVert \mathbf{d} \rVert}
  4. 取最大值 $S(c)$与检索到的所有片段逐一比较,取最相关的那条作为依据;再与阈值比较,得出“支持 / 不支持”的结论。
    max⁡d∈Dc⋅d∥c∥∥d∥\displaystyle \max_{d \in D} \frac{\mathbf{c} \cdot \mathbf{d}}{\lVert \mathbf{c} \rVert \lVert \mathbf{d} \rVert}

相关性评估:检查开药是否对症

病人问皮肤过敏,医生答了二十分钟心脏搭桥——每句话都引经据典,却一句都没用。相关性评估查的就是:你到底有没有回答我问的。相关性管“对症”,幻觉管“真实”,两者是相互独立的两个质量维度。

评估通常从三个维度打分:完整性看问题要求的要点是否都覆盖,无关性看有没有夹带题外废话,忠实度看有没有偏离知识库自己发挥。RAGAS 是业内常用的指标集,其中最核心的忠实度指标定义了“有多少陈述能被知识库兜住”:

实际落地时,还要安排人工评分定期校准自动打分的偏差,形成“机器粗评 + 人工精评”的自动评估流水线。相关性就像处方上的“诊断·用药”两栏:诊断栏写对、用药栏也对得上,这份病历才真正合格。X 光机不仅照出骨折(幻觉),还要核对病历是不是拿错了(不相关)。

F=∣Esupported∣∣Etotal∣\displaystyle F = \frac{|E_{\text{supported}}|}{|E_{\text{total}}|}
RAGAS 忠实度 = 被知识库支持的陈述数 ÷ 回答中全部陈述数。分母问“说了几句”,分子问“几句有据可依”。F = 1 说明句句有出处,F 偏低说明回答在跑题或编造。
  1. 分母 $|E_{\text{total}}|$把回答拆成原子陈述后的总数,代表这次评估的全部检查对象。
    ∣Etotal∣\displaystyle |E_{\text{total}}|
  2. 分子 $|E_{\text{supported}}|$这些陈述中能溯源到知识库、被事实核查支持的条数。
    ∣Esupported∣\displaystyle |E_{\text{supported}}|
  3. 比值 $F$忠实度分数,衡量回答是否忠实于给定依据。$F=1$ 表示每条陈述都有出处,$F$ 越小越可疑。
    F=∣Esupported∣∣Etotal∣\displaystyle F = \frac{|E_{\text{supported}}|}{|E_{\text{total}}|}
  4. 与幻觉的关系$F$ 本质上是幻觉的逆向指标,可与此前的自一致性、相似度支撑分合成一个多维质量分,供线上告警使用。

样本收集管理:建一座会生长的病历档案库

最后一道工序是归档。医院质检科把可疑病历收进档案,请资深专家复核,再整理成规培教材反哺年轻医生。样本收集管理就是这个“病历档案库”机制,它让 X 光机越用越聪明。

收集渠道有三条:用户反馈(投诉、点踩、追问)、线上规则触发(低分回答自动打标)、主动探测(定期注入测试问题钓鱼执法)。收上来的“生样本”先要数据清洗:去重、去掉隐私信息、过滤纯噪声;再按标注规范处理:定义幻觉类型(事实错误、凭空捏造、张冠李戴),由多人标注并计算一致性——毕竟连人都说不清的错误,机器更学不会。

标注一致性用剔除运气后的 Kappa 系数衡量:

只有 Kappa 达标,样本才敢进入回流闭环——扩充评估集、微调模型或更新提示词。档案库越厚,X 光机识别病灶的能力越强,质量监控就进入“越用越准”的正循环:这正是质控科存在的最终意义。

κ=Po−Pe1−Pe\displaystyle \kappa = \frac{P_o - P_e}{1 - P_e}
Kappa 考察“两位标注员的一致率里,有多少是真实共识、多少只是碰巧”。κ 大于 0.8 说明标注规范可靠,样本才有资格进入回流闭环。
  1. 观察一致率 $P_o$两位标注员对同一批样本给出相同标注的比例,是“表面上的共识”。
    Po\displaystyle P_o
  2. 随机一致率 $P_e$即使两人闭着眼睛瞎标,也可能因为类别分布而碰巧一致的概率。
    Pe\displaystyle P_e
  3. 分母 $1 - P_e$在随机水平之上,理论上还能提升多大的共识空间。
    1−Pe\displaystyle 1 - P_e
  4. 比值 $\kappa$剔除运气后剩下的真实一致性。$\kappa > 0.8$ 才说明标注规范靠谱,可以进入回流闭环。
    κ=Po−Pe1−Pe\displaystyle \kappa = \frac{P_o - P_e}{1 - P_e}

AI 应用场景

医疗问诊平台的幻觉拦截

阶段:在线监控与告警

解决的问题:夜间 AI 分诊要接待海量问诊,纯人工抽检只能覆盖极小比例,一次杜撰的用药建议就可能酿成事故。AI 先把回答拆成原子陈述,再逐句与权威用药知识库做余弦比对,支持率低于阈值的回答自动转人工复核,实现“机器先筛、人来兜底”。

具体案例:某互联网医院的分诊助手接入“拆句—比对—告警”流水线后,夜间幻觉拦截率提升约 90%,药师需要复核的样本从全部对话缩小到只有报警子集,人力成本大幅下降。

金融客服的相关性评估

阶段:质量评估与评测

解决的问题:传统客服质检靠人工听录音抽检,答非所问的问题要等用户投诉才暴露。AI 用 RAGAS 相关性指标给每通对话的每个回答实时打分,低分对话自动进入复听队列,把被动投诉变成主动发现。

具体案例:某银行智能客服上线自动相关性评分后,答非所问类投诉下降约 60%,质检员把精力集中在低分样本上,复核效率提升三倍以上。

法律文书的坏样本回流

阶段:数据回流与模型迭代

解决的问题:法律问答要求句句有出处,幻觉不可容忍;让律师逐条阅读线上日志又不现实。通过线上拦截 + 标注规范 + Kappa 质控,把坏样本沉淀成标准数据集,再回流微调模型或更新检索知识库。

具体案例:某法律科技公司把每月拦截的坏样本按“事实错误/张冠李戴”分类标注,回流微调后模型幻觉率在三个月内下降约 40%,客户合同审查的返工量显著减少。

Python 演示

python58 行
import re  def bigrams(text):    """把文本切成连续二字片段, 用于粗糙的语义重叠度计算"""    text = re.sub(r'[^\u4e00-\u9fff0-9]', '', text)    return {text[i:i + 2] for i in range(len(text) - 1)}  def split_claims(text):    """按句末标点把回答拆成原子陈述"""    parts = re.split(r'[。;\n]', text)    return [p.strip() for p in parts if len(p.strip()) > 4]  def check_support(claim, kb_gram_sets):    """计算一句陈述在知识库中的最大重叠度"""    claim_grams = bigrams(claim)    if not claim_grams:        return 0.0    best = 0.0    for doc_grams in kb_gram_sets:        score = len(claim_grams & doc_grams) / len(claim_grams)        best = max(best, score)    return best  def monitor_answer(question, answer, knowledge_base, threshold=0.6):    """对回答做逐句事实核查, 返回忠实度评分与告警标志"""    kb_gram_sets = [bigrams(doc) for doc in knowledge_base]    claims = split_claims(answer)    checked = []    supported = 0    for claim in claims:        score = check_support(claim, kb_gram_sets)        ok = score >= threshold        supported += int(ok)        checked.append((claim, round(score, 2), ok))    faithfulness = supported / len(claims) if claims else 1.0    alert = faithfulness < 0.8    return checked, round(faithfulness, 2), alert  if __name__ == "__main__":    knowledge_base = [        "中国首条万吨级碳纤维生产线于2021年在青海西宁正式投产",        "大语言模型通过海量文本训练学习语言规律, 不具备事实验证能力",        "磷酸铁锂是成本较低的主流锂电池正极材料",    ]    question = "碳纤维生产线是在哪里、哪一年投产的?"    answer = "中国首条万吨级碳纤维生产线于2021年在青海西宁正式投产。该项目总投资超过50亿元,全部采用国产设备。"    checked, faithfulness, alert = monitor_answer(question, answer, knowledge_base)    for claim, score, ok in checked:        mark = "支持" if ok else "疑似幻觉"        print("[%s 重叠度%.2f] %s" % (mark, score, claim))    print("忠实度: %.2f" % faithfulness)    if alert:        print("警告: 存在幻觉风险, 请人工复核!")
目的:模拟线上质检流水线——把 LLM 回答拆成陈述句,逐句与知识库比对重叠度,算出忠实度分数并触发幻觉告警。
  1. def split_claims(text):把回答按句号拆成原子陈述,这是“拆句”的起点,相当于把整段诊断记录切成一条条可核验的结论。
  2. claim_grams = bigrams(claim)把一句陈述转成连续二字片段的集合,用粗糙的 n-gram 表示它的“话料特征”。
  3. for doc_grams in kb_gram_sets:让这条陈述与知识库中每个条目逐一比对,模拟“翻医书找对应出处”。
  4. score = len(claim_grams & doc_grams) / len(claim_grams)集合交集占比即重叠度,重叠越高,说明知识库越为这句陈述背书。
  5. supported += int(ok)统计被支持的陈述条数,作为忠实度分数的分子。
  6. faithfulness = supported / len(claims) if claims else 1.0忠实度 = 支持条数 ÷ 总条数,对应 RAGAS 的核心思想。
  7. alert = faithfulness < 0.8忠实度低于 0.8 触发告警,把可疑回答送进人工复核队列。

常见误区

误区模型生成这段回答时每个词的概率都很高,说明它很有把握,这种输出应该不会是幻觉吧?

正解概率只反映“续写顺不顺”,不反映“事实真不真”。长尾知识上模型可能毫无根据地自信,就像一位医生语气笃定地报出一个根本不存在的药名。必须靠外部知识库核验,置信度只能作为参考信号,不能作为真相证明。

为何常见:人类习惯把“语气笃定”当成“知道答案”,而 LLM 被训练得极其擅长模仿笃定的语气,概率高和事实对被混为一谈。

误区回答读起来和问题挺贴切,还引用了不少细节,应该可以直接上线了吧?

正解相关性管“答没答到点上”,幻觉管“说的是不是真的”,两者是正交的。一个流畅又贴题但内容纯属编造的回答,既相关又幻觉,恰恰是最危险的——因为用户更容易信以为真。所以质检必须两把尺子一起用,缺一不可。

为何常见:线下体验 demo 时,回答接得顺、信息多,人的注意力会被流畅性带走,事实性细节反而被忽略。

误区我自己算不了语义,只能接最强的生成式大模型来当裁判,贵一点也没办法。

正解判别式小模型、规则加知识库比对、自一致性检测等轻量方案在很多场景已经够用,它们快、便宜、可解释。大模型裁判应该用于兜底审核少量高危样本,而不是每一句话都请“专家会诊”,否则成本会随流量爆炸。

为何常见:大模型能说会道,天然给人“更可靠”的错觉;而小模型的效果需要自己调优验证,误以为“效果不够就是模型不够大”。

误区把每周的对话记录导出来,安排几个人一条条看,有问题的记下来就行。

正解高效做法是线上规则加轻量模型实时打标,把可疑样本自动送进复核队列,人工只处理报警子集,再按标注规范清洗、算 Kappa、回流微调。人工全量抽检既漏检又滞后,等你看完一周日志,新一波幻觉早已发出去了。

为何常见:早期样本量小,人工硬扛还来得及;流量一上来,人工抽检既跟不上速度,也难保证标注标准一致。

面试题

Q1. LLM 产生幻觉最根本的原因是?

单选题 · easy

  • A.训练数据中存在错误与噪声信息
  • B.上下文窗口大小限制了记忆能力
  • C.模型按概率生成而非查证事实← 正确答案
  • D.提示词写得太短导致信息不足

答案:C。模型本质是“续写骰子”,每生成一个词都在按概率采样,并不连接外部事实库查证,这是幻觉的根本机制。数据噪声和提示词不足会加剧幻觉,但不是根源;上下文窗口与幻觉机制无关。

Q2. 自一致性检测的核心假设是?

单选题 · easy

  • A.答案越长就越可靠
  • B.模型参数越大就越可靠
  • C.多次采样答案稳定则更可信← 正确答案
  • D.置信度越高则答案越正确

答案:C。自一致性假设“真知识经得起反复采样”。就像病人复述多次都一致,医生才敢信;多次采样答案聚成稳定簇,说明不是随机凑出来的。A、B、D 都是常见但不可靠的直觉。

Q3. 实现事实核查最可靠的方式是?

单选题 · mid

  • A.让模型自己判断对错
  • B.用更大模型重新生成一遍
  • C.统计答案中出现的关键词数量
  • D.与外部知识库逐句比对核验← 正确答案

答案:D。事实核查最硬的方式是拿外部知识库逐句比对,相当于翻医书对出处。模型自评容易“护短”,换个大模型只是重新猜一次,关键词统计不看语义,三者都不可靠。

Q4. 相关性评估通常包含哪些评估维度?

多选题 · mid

  • A.完整性:是否覆盖问题所有要求← 正确答案
  • B.流畅度:句子是否符合语法规范
  • C.无关性:是否夹带题外废话← 正确答案
  • D.忠实度:是否偏离知识库依据← 正确答案

答案:ACD。相关性评估的三根支柱是完整性(该答的都答了)、无关性(没跑题)和忠实度(没偏离依据)。流畅度属于语言质量维度,与“是否对症”无关,所以不选。

Q5. RAGAS 的忠实度(faithfulness)指标如何计算?

单选题 · mid

  • A.回答总字数除以问题总字数
  • B.被知识库支持的陈述数除以总陈述数← 正确答案
  • C.检索文档数量与生成句数之比
  • D.答案与问题向量的余弦相似度

答案:B。忠实度 = 被支持的陈述数 ÷ 全部陈述数,分母问“说了几句”,分子问“几句有据可依”,这是对“是否跑题编造”的直接度量。A、C、D 衡量的分别是篇幅、检索比例和表层相似,都不是忠实度定义。

Q6. F1 分数中的召回率衡量的是什么?

单选题 · easy

  • A.检出的结果中真正幻觉的占比
  • B.真实幻觉中被成功检出的比例← 正确答案
  • C.模型每秒生成词语数量的高低
  • D.知识库覆盖业务范围的大小

答案:B。召回率回答“真实出事的(幻觉)里抓到了多少”,精确率才是“抓出的里面有多少真出事”。好比渔网:召回率看捞上多少鱼,精确率看网里鱼的占比。

Q7. 选择幻觉检测模型时应权衡哪些因素?

多选题 · hard

  • A.检测准确率与召回率的平衡← 正确答案
  • B.推理延迟与单次调用成本← 正确答案
  • C.模型参数量越大就一定越好
  • D.与业务场景知识分布的契合度← 正确答案

答案:ABD。检测模型像 X 光机档位,要同时看准头(精确率)、抓漏(召回率)、速度(延迟)、价钱(成本),还要贴合业务知识分布。参数量大不等于一定好,小模型在特定场景可能更划算。

Q8. 下列哪项属于线上问题样本的主动收集方式?

单选题 · mid

  • A.下班后人工通读全部线上日志
  • B.每月随机抽取一百条记录复核
  • C.只收集用户主动发起的投诉
  • D.监控规则触发时实时打标报警← 正确答案

答案:D。线上主动收集靠监控规则实时打标报警,像质检科给高危病历自动贴红条。人工通读、随机抽样、等投诉都太被动或太慢,无法满足实时性要求。

Q9. 知识库比对中,计算陈述与知识条目相似度通常使用?

单选题 · hard

  • A.词向量或句子嵌入的余弦相似度← 正确答案
  • B.对字符串反转后再比较长度
  • C.数据库表主键之间的等值连接
  • D.哈希取模后数值差的大小

答案:A。句子相似度通常先把陈述和知识条目各自转成嵌入向量,再算余弦相似度,相当于把语义翻译成坐标后量距离。反转比较、主键连接、哈希求差都是不相干的字符串技巧。

Q10. 以下哪些措施能系统性降低在线幻觉率?

多选题 · extreme

  • A.检索增强生成提供事实依据← 正确答案
  • B.对疑似幻觉的回答实时拦截← 正确答案
  • C.关闭所有模型输出的日志记录
  • D.用质检样本回流微调模型← 正确答案

答案:ABD。系统性降幻觉要“防线前置 + 事后兜底 + 持续反哺”:RAG 让回答有据可依,实时拦截堵住漏网之鱼,坏样本回流让模型越用越稳。关日志只会让质量失控,C 必然排除。