证据索引: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:met 走 has_target 的反向边。这不是把「c-Met」当同义词展开。
引用纪律六条,写成验收而不是口号:
- 先定来源再写陈述。
- 每条陈述能回到文档、版本、块。
- 无接地不主张。
- 从答案能到来源,从来源能到引用过它的答案。
- 多源冲突要呈现。
- 生成后校验引用是否真实存在且支持陈述。
失败模式¶
- 等长切块:3.2 节表被拆成两句无表头文本,引用无法还原。
- 假嵌入:维度对了,空间是随机的,评测却显示「索引已建」。
- 许可后裁:延迟和空位泄漏存在性。
- 用检索代替推理包:把
extracted句子和已验证关系混在 top-k 里。 - 图通道下沉到向量库:邻接策略无法按关系类型衰减,变成随机采样。
业界路线对照¶
头部药企的科研助手强调答案挂回文献、试验和内部实验系统。这里只学「接地与引用」,不学他们如何编排多步助手。Open PHACTS 把公开数据经 API 取出,而不是让应用在各源上各自切块。证据索引是企业侧的对应物:一种证据契约,多种实现(倒排、向量、图邻接)。
最佳实践¶
语义结构化决定检索上限。先还原章节树。
跨通道融合只用排名。
许可与图通道共用同一套过滤。
视觉后到后用,文本随时可答。
评测按分面发布。引用忠实度不可豁免。
不要把精力放在 Embedding 选美上。切片、过滤、引用比换模型更决定企业可用性。
延伸阅读¶
- 混合检索与 RRF:多路召回、只用排名融合。
- 引用优先:受监管场景下可验证溯源与幻觉引用。
- 文档结构:版面解析与章节树,而不是「再找一个视觉 RAG 产品」。
Checklist¶
- 文档是否还原为章节树与类型化块,而非等长切块?
- 词项、向量、图邻接是否分开召回,跨通道是否只用排名?
- 查询改写与图通道是否分开,未用别名表冒充关系?
- 许可是否在候选生成期过滤?
- 未嵌入切片是否显式标记,禁止假向量?
- 每条陈述是否能回到文档版本与块 ID?
- 无接地是否拒答,而非硬编?
- 检索与推理包是否分工,未混成一个万能搜索?
从「向量库加模型」换成结构化证据加分通道检索。监管问答要的是可还原出处,不是一段像样的话。