让答案有出处:citations 引用溯源

「从零到 AI 应用工程师」专栏 · 第 13 篇


能答还不够。工业场景还要回答:你这话从哪份手册、哪一页来的?

references 和 citations 经常被混用------今天把它们掰开。


一、两个字段分别是什么

references citations
何时产生 检索/重排之后,喂给模型之前 模型(或兜底)生成答案之后
含义 本轮候选证据(上下文) 答案里实际用到的出处
典型用途 调试「模型看了啥」 前端高亮、审计、工单溯源

关系:

text 复制代码
references = [切片1, 切片2, 切片3]   # 候选
answer     = "......处理步骤见【1】,阈值见【2】。"
citations  = [切片1对应项, 切片2对应项]  # 子集

可以召回了 3 条,答案只标了【1】------这很正常。


二、标记怎么落到 doc_id / page

  1. Prompt 要求:有依据时写 【1】【2】(或 [1]);
  2. 后处理用正则抽出序号;
  3. 序号对齐 references[N-1],拷贝 doc_id、page、source、text 等。
python 复制代码
# 伪代码
indices = extract_cited_indices(answer)  # 【1】【2】 → [1, 2]
citations = []
for i in indices:
    if 1 <= i <= len(references):
        ref = references[i - 1]
        citations.append({
            "ref_index": i,
            "doc_id": ref.doc_id,
            "page": ref.page,
            "source": basename(ref.source),
            "text": ref.text,
        })

计划里说的「响应带 [doc_id, page]」,落在每个 citation 对象上。


三、模型忘了标引用怎么办

策略 说明
检索兜底回答 本地拼装时自己带【N】,再整表映射
fallback_all 无标记时临时把全部 references 当作 citations(便于人工核对,正式产品要慎用)
拒答 / 降置信 无依据或无引用时不装有出处(见下两篇治理)

原则:没有可靠映射,就不要假装有强引用。


四、前端与 Agent 怎么用

  • 展示答案时,把【N】做成脚注或侧栏卡片;
  • 卡片显示:文件名、页码、摘录;
  • Agent 写工单:只把 citations 写进「依据」字段,不要把整份 references 当已引用。

五、带走这三条

  1. references = 候选;citations = 实际引用。
  2. 靠 Prompt 标号 + 后处理映射 meta,不是靠模型口述文件名。
  3. 无标记就要降级策略,不能默认为「全都引用了」。

下一篇:治幻觉------没依据就拒答,禁止「可能大概也许」。

这是专栏第 13 篇。两到三天一更,拒答见。

相关推荐
代码方舟几秒前
PHP数据工程:利用天远学历信息高级版优化专家资源池合规体验
人工智能
飞哥数智坊2 分钟前
ZCode 可以自己看微信小程序了
人工智能·ai编程
江润舟4 分钟前
万物|炼器 从零手搓工业级旋转目标检测网络 · 卷3 —— 核心算子锻造(三)
人工智能·深度学习
桃西西呀5 分钟前
你的 Agent 每判一次都要为大模型吐的字买单?-Laya模型帮你做判断
人工智能·llm·ai编程
品牌常新14 分钟前
安防巡检机器人推荐:园区仓储楼宇怎么选
人工智能
释厄62332 分钟前
多黑洞具现论·物理/生物/金融三域显化·虚拟宇宙黑洞·奇点=0 圆圈
开发语言·数据结构·人工智能·程序人生·安全威胁分析
具身AGI34 分钟前
大脑之外还要一套脊髓,物理AI 交互具身 的下一关
人工智能
haliu39 分钟前
【FHE】(十二):为什么我们把 OpenMP 换成了自研线程池
人工智能·嵌入式·c·fhe·推理引擎·c11·边缘推理·同态加密推理
瞬维AI1 小时前
RPA与AI智能体的跨平台自动化执行架构:从任务编排到异常处理
人工智能·自动化·rpa
呆呆槑_Xiong1 小时前
2026年AI网文写作指南:灵蟹创作与主流AI工具全解析
人工智能