跳转至

证据索引:Evidence Index

本章所属 DDA 层:Evidence Index

阿斯利华监管事务问:「ASH-001 的 Phase I 试验是否因安全性信号终止?依据哪份 CSR 的哪一节?」如果系统只能给出一段模型生成的话,没有页码、没有块、没有版本,这个答案在审计面前无效。

「幻觉」多半是语义没传到可还原的坐标,模型用通用语料补了一句听起来合理的话。证据索引把原文组织成可检索、可引用、可按许可过滤的切片。它不是再做一个聊天产品。

问题

科学知识图谱回答「公司承认什么」。证据索引回答「原文怎么说、证据在哪」。

两件事不能合成一个「什么都搜」。检索吃证据;推理吃已治理的上下文包。把候选断言和原文切片扔进同一个向量库,消费方会把相似句子当成已验证事实。

企业文档也不是等长字符串。CSR 有章节树,SOP 有编号,Excel 不良反应清单有表头。等长切块会把 3.2 节的表切散。许可若在检出后再删,无权用户已经知道那篇 DrugBank 切片存在。

传统方案

传统知识管理是文档库。再进一步,是「切块、向量化、top-k 塞进提示词」。阿斯利华的第二次尝试就是这样:把 SOP 与 CSR 按固定字数切开,用通用文本嵌入检索。

分析师仍靠自己记得「皮疹在 3.2 节那张表」。机器只记得一段孤立描述。

为什么失效

等长切块打碎语义结构。召回叶子,看不到树。

单一向量覆盖不了企业提问:有人问代号,有人问通用名,有人问「还有哪些药作用于同一靶点」。后一种要走类型化关系,不是余弦相似。

许可后裁泄漏存在性。先检出再过滤,空结果和延迟会告诉用户「这里有东西你不能看」。

没有引用坐标。答对了也不可审计。没有接地,生成来自参数记忆。

检索增强生成不是「向量数据库 + 大模型」。那是一种最小实现。本层是证据基础设施。RAG 是消费它的一种方式。

flowchart LR
    Q[问题] --> IDX[证据索引]
    IDX --> TREE[语义树块]
    IDX --> HYB[词项_向量_图邻接]
    IDX --> LIC[候选期许可过滤]
    IDX --> CIT[可还原坐标]
    Q2[问题] --> VEC[向量库加模型]
    VEC --> H[幻觉或不可引用]

图:证据索引与「向量库加模型」的差别(DDA 层:Evidence Index)

新的设计思想

知识在进入检索前按文档章节结构化、按实体挂载、带版本,而不是机械等长切块。

召回不止向量:词项、稠密向量、图邻接多路融合。跨通道只用排名,不用原始分。

查询改写用层级别名扩展;图通道用类型化关系走邻接。二者不是同一条路。

许可在候选生成期过滤。无权则当不存在。

引用优先:先确定来源,再组织陈述;无接地不主张;冲突浮现。

视觉资产是一等公民,但是增强通道。文本证据链不能被视觉处理阻塞。

架构设计

flowchart TB
    DOC[入湖语义树] --> CHK[类型化块]
    CHK --> EV[(EvidenceIndex)]
    Q[查询] --> ID[身份改写]
    ID --> BM[词项]
    ID --> DE[向量]
    ID --> GR[图邻接]
    BM --> RRF[排名融合]
    DE --> RRF
    GR --> RRF
    EV --> BM
    EV --> DE
    LIC[许可范围] --> BM
    LIC --> DE
    LIC --> GR
    RRF --> CIT[引用坐标]

图:先过滤再召回,跨通道只融合排名(DDA 层:Evidence Index)

工程实践

决策表

决策 选择 放弃
切片 语义树 + 类型化块 固定长度盲切
检索 词项 ⊕ 向量 ⊕ 图,RRF 用排名 单路向量;跨编码器比原始分
改写 vs 图 层级扩展 ≠ search-around 用别名表冒充关系遍历
许可 候选生成期过滤 先检出再裁剪
向量诚实 未嵌入必须显式标记 占位向量冒充可检索
视觉 增强,不阻塞文本 把像素检索当主路径
评测 分面合同:身份、抽取、引用忠实 只报一个「准确率」

阿斯利华可走通的例子

csr_ash001_phase1_v3 的 3.2 节表块应带:

chunk:
  chunk_id: csr_ash001_phase1_v3#3.2.t1
  path: 3 安全性 / 3.2 不良反应
  chunk_type: table
  entity_ids: [ASH:ENT:DC:savolitinib]
  license_tier: internal
  ontology_release_id: 2026.08.1
  embedded: true

问「savolitinib 3.2 节的不良反应」:身份服务把通用名改写成企业 ID,词项命中「不良反应」,向量命中近义表述,过滤掉无权的外部说明书切片。返回块必须能还原到页与表,而不是一段飘着的摘要。

问「还有哪些药作用于 c-Met」:图通道从 ASH:ENT:TG:methas_target 的反向边。这不是把「c-Met」当同义词展开。

引用纪律六条,写成验收而不是口号:

  1. 先定来源再写陈述。
  2. 每条陈述能回到文档、版本、块。
  3. 无接地不主张。
  4. 从答案能到来源,从来源能到引用过它的答案。
  5. 多源冲突要呈现。
  6. 生成后校验引用是否真实存在且支持陈述。

失败模式

  • 等长切块:3.2 节表被拆成两句无表头文本,引用无法还原。
  • 假嵌入:维度对了,空间是随机的,评测却显示「索引已建」。
  • 许可后裁:延迟和空位泄漏存在性。
  • 用检索代替推理包:把 extracted 句子和已验证关系混在 top-k 里。
  • 图通道下沉到向量库:邻接策略无法按关系类型衰减,变成随机采样。

业界路线对照

头部药企的科研助手强调答案挂回文献、试验和内部实验系统。这里只学「接地与引用」,不学他们如何编排多步助手。Open PHACTS 把公开数据经 API 取出,而不是让应用在各源上各自切块。证据索引是企业侧的对应物:一种证据契约,多种实现(倒排、向量、图邻接)。

最佳实践

语义结构化决定检索上限。先还原章节树。

跨通道融合只用排名。

许可与图通道共用同一套过滤。

视觉后到后用,文本随时可答。

评测按分面发布。引用忠实度不可豁免。

不要把精力放在 Embedding 选美上。切片、过滤、引用比换模型更决定企业可用性。

延伸阅读

  • 混合检索与 RRF:多路召回、只用排名融合。
  • 引用优先:受监管场景下可验证溯源与幻觉引用。
  • 文档结构:版面解析与章节树,而不是「再找一个视觉 RAG 产品」。

Checklist

  • 文档是否还原为章节树与类型化块,而非等长切块?
  • 词项、向量、图邻接是否分开召回,跨通道是否只用排名?
  • 查询改写与图通道是否分开,未用别名表冒充关系?
  • 许可是否在候选生成期过滤?
  • 未嵌入切片是否显式标记,禁止假向量?
  • 每条陈述是否能回到文档版本与块 ID?
  • 无接地是否拒答,而非硬编?
  • 检索与推理包是否分工,未混成一个万能搜索?

从「向量库加模型」换成结构化证据加分通道检索。监管问答要的是可还原出处,不是一段像样的话。