| 系统工作原理
返回系统

系统工作原理 v0.0.3

本文只描述医生端当前默认运行原则。历史检索实验、旧版权重表与后台分析入口不属于医生端运行真相。

产品概述

OpenMed v0.0.3 面向临床医生提供循证问答。系统围绕文档级证据组织召回、评分、生成与引用呈现,目标不是展示内部调试过程,而是让回答可核查、可追溯、可直接回到原始来源。

当前默认行为以 canonical truth map 为准:先按来源分离向量召回,再在文档级合并结果后仅按证据等级分排序;历史混合检索实验、旧版权重表和面向后台的分析页面都不再构成医生端运行说明。

用户输入临床问题 → 查询翻译 → 分来源向量召回 → 文档级证据排序 → LLM 生成答案 → 返回答案 + 引用

界面与交互

主问答页 / 提供输入框、推荐问题、流式答案、引用 hover、参考文献面板与会话历史侧栏,支持医生在单页内完成提问、阅读与追溯。

医生端只保留主问答页 / 与运行原理页 /system-doc.html。引用卡片面向医生提供最小必要信息:片段默认截断到 240 字,支持回看原始 PDF 或来源页面;后台分析能力属于独立后台边界,不在医生端路径和叙事中展开。

问答流水线

1
查询翻译
与术语扩展
2
分来源向量召回
证据召回
3
文档级合并
与证据排序
4
流式生成
与引用呈现
阶段当前实现(v0.0.3)
查询翻译 temperature=0.1,max_tokens=200;LLM 失败时使用 10 项医学术语字典兜底;翻译缓存上限 500 条。
向量检索 按来源分配固定召回配额:PubMed 10、中文核心 5、指南 5;每篇文档最多保留两段可向量化文本(来源摘要 + 可选 PDF 精华)。
文档级合并 同一文档若有多段向量文本命中,先合并回单篇文档,并使用最大语义相似度作为召回代表值。
证据排序 最终合并池仅按证据等级分排序;语义相似度用于召回代表与追溯说明,不作为最终排序权重。
答案生成 模型 gpt-5.4,temperature=0.3,max_tokens=32768;输出连续学术散文,不使用模板小标题;每个医学事实使用 [n] 引用。
引用呈现 证据片段按查询词优先裁剪并限制 240 字;前端先收英文片段,后台异步回填中文翻译。
当前医生端运行原则是"分来源向量召回 + 文档级证据排序 + 引用约束生成";旧版 RRF、全文检索联排、调试页入口和后台详情跳转都不再作为医生端默认说明。

数据管控与评分

数据来源固定为三类:外文文献(foreign)、中文核心文献(yiigle)、临床指南(guide)。每篇文档先完成字段校验、来源归类与可检索性判断,再发布为医生端可用证据。

文档级证据单元要求同一篇文档在医生端只占一个排序位置。摘要向量文本只来自源记录,PDF 向量文本只来自保留章节;没有 PDF 的文档仍可仅凭摘要进入召回。

AI 在这里仅承担两类职责:抽取打分参数,以及抽取可向量化证据文本。真正的评分、时间衰减和排序由脚本按规则计算,而不是由医生端页面临时解释或拼接旧公式。

来源摘要向量文本PDF 向量文本(若存在)保留章节
外文文献来自源记录摘要来自文档精华文本Methods / Results
中文核心来自源记录摘要来自文档精华文本方法 / 结果
临床指南来自源记录摘要来自文档精华文本推荐意见 / 证据等级

证据等级分主公式

证据等级分 = (0.7 × 学术证据分 + 0.3 × 客观证据分) × 时间衰减系数

客观证据分

来源当前规则
外文文献研究设计 × 0.5 + 样本量 × 0.25 + 期刊质量 × 0.25
中文核心研究设计 × 0.5 + 样本量 × 0.25 + 收录情况 × 0.25
临床指南发布机构 × 0.7 + 证据分级体系 × 0.3

学术证据分

学术证据分遵循 GRADE 式质量判断,不再沿用旧版研究类型映射表。系统会结合研究设计基线、信息完整度、样本规模、终点强度、权威来源与质量降级项,对每篇文档形成可审计的学术证据判断。

时间衰减系数

发表时间时间衰减系数临床含义
1-2 年内1.0前沿证据
3-5 年内0.8稳定证据
6-10 年内0.5历史证据
10 年以上0.3旧证据

这意味着当前医生端解释重心是"高质量文档先进入回答",而不是展示一组历史权重或后台调试字段。

会话与可靠性

服务端以 SSE 持续推送内容与引用,并通过 30秒 心跳保活维持长连接;生成过程中每 5秒 增量保存一次,异常中断时保留已写内容。用户重连后可基于已存部分执行断线续写,而不重复已输出段落。

生成约束由系统提示词统一控制:只允许使用给定证据、事实必须带引用、证据不足时必须明确声明,保障输出边界稳定。

全链路容错策略保持短闭环:检索失败自动降级、证据过滤失败保留全部候选、翻译失败回退术语字典、生成失败保存断点与部分输出。

验证指标

历史版本说明、旧权重表和后台分析细节已从医生端页面移出;如需核对当前规则,以 docs/specs/truth-map-canonical.md 为实现基线。

进展报告 v0.0.4

覆盖周期:2026/04/12 – 04/17。本期完成了检索问答系统升级、知识图谱方案设计与实现、文献数据处理管线重构,以及评测体系建设。

一、文献数据处理

1.1 PubMed 外文文献(27.7 万条元数据)

已完成 摘要级处理全部完成,包括 AI 摘要清洗、结构化指标提取、三层评分(v2.3)、向量嵌入。每篇文献已可被语义检索命中。

下一步计划:用深度检索验证实际效果。初步判断摘要的检索命中率和评分置信度与全文不会差太多(向量的精度误差主要来自模型本身而非文本长度差异),因此摘要处理完成后即可验证系统在肿瘤学领域的效果。

1.2 临床指南(~1,000 条)

已完成 所有指南的 PDF 全文处理完毕(PDF → 结构化文本 → 指标提取 → 评分 → 向量化入库)。指南数据含推荐意见、证据分级、适用人群等结构化字段。

1.3 三源统一管线

数据来源规模当前状态
PubMed 外文文献27.7 万条元数据摘要处理完成 待验证效果
医脉通中文核心4.6 万条框架就绪 待批量处理
临床指南~1,000 条PDF 全文处理完成

二、检索与问答能力升级

基于 4/12 会议讨论的精神——"问题理解 → 标准化语义拆解 → 召回 → 问题相关性判断 → 迭代检索回答"——对检索与问答系统进行了系统性功能升级。

2.1 标准模式(4 步)

1
临床问题
智能分析
2
多源并行
检索
3
LLM 证据
评判排序
4
循证综合
回答生成

第 1 步:临床问题智能分析

系统将医生的中文/英文提问自动拆解为 3-5 条英文检索查询,每条覆盖不同证据角度(疗效、安全性、特定人群、不同证据类型等)。同时提取 PICO 要素(患者人群、干预措施、对照方案、临床结局)和临床意图。

医生不需要会写检索式,系统自动将模糊的临床问题转化为精确的多角度检索策略,避免单一角度遗漏关键证据。

第 2 步:多源并行检索

3-5 条检索查询同时并行执行,覆盖三大来源:PubMed(上限 10 篇)、中文核心(5 篇)、指南(5 篇)。每个来源独立排序后按配额截取,合并去重。

第 3 步:LLM 证据评判与排序

对每篇候选文献,调用 LLM 进行 1-10 分证据相关性评判。评判标准区分"语义相似"和"临床相关"(语义相似但临床问题不同 = 不相关)。

排名分 = 证据质量(50%) + LLM 相关性评判(30%) + 时效性(20%)

时效性权重:2 年内 = 1.0,2-5 年 = 0.8,5-10 年 = 0.5,10 年以上 = 0.3。

第 4 步:循证综合回答

仅基于检索到的证据生成回答,不编造内容。每个医学事实标注引用来源,疗效数据必须给出具体数字(HR、OS 中位数、95%CI、p 值),证据矛盾时明确指出。

2.2 深度模式(7 步,新增)

1-3
标准检索
(同上)
4
证据缺口
自主分析
5
定向补充
检索
6
逐篇原文
复核溯源
7
综合
回答生成

新增:证据缺口自主分析

系统自动评估当前证据是否足以回答临床问题。如果缺少关键亚组数据、中国人群数据、长期随访数据等,自动生成 1-3 条补充检索查询。最多循环 3 轮,总文献上限 50 篇。

复杂临床问题往往需要从多个角度才能凑齐证据。系统自动发现缺口并定向补充,大幅提升回答完整性。

新增:逐篇原文复核溯源

从排序后的证据中挑选最多 10 篇论文进行深度复核。三级溯源策略:Markdown 全文 → PDF 实时解析 → 结构化数据回退。原文内容附加到 LLM 上下文中,确保回答基于完整论文而非仅摘要片段。

医学文献摘要往往省略关键细节(如具体亚组 HR 值、不良事件发生率)。原文复核确保 LLM 能引用更精确的数据。

2.3 与 v0.0.3 的关键差异

维度v0.0.3v0.0.4
查询理解翻译为英文 + PICO多角度检索策略生成 + 临床意图识别
检索方式单查询检索3-5 条查询并行检索
证据排序规则加权公式LLM 语义评判 + 多维融合
证据充分性无评估自动缺口分析 + 定向补充(深度模式)
原文利用仅用摘要/片段逐篇原文复核溯源(深度模式)

三、知识图谱(教科书)

3.1 为什么选择教科书

为 Harrison's《内科学原理》(第 22 版,4273 页,440 章)构建结构化知识图谱,基于以下原因:

3.2 三层架构

Layer 1 — 主题树(分类目录)

保留教科书的原始层级结构(大分科 → 小分科 → 具体章节),为每一章生成摘要和关键词。相当于把整本教科书的目录数字化,支持结构化浏览。

Layer 2 — 实体知识图谱(关系网络)

从每一章中用 AI 自动提取 12 类医学实体(疾病、药物、基因、生物标志物、治疗方案等)及其 12 类关系(治疗、靶向、推荐、禁忌、关联等)。每条关系记录适用条件、禁忌情况和替代方案。

典型应用场景
"EGFR 突变相关的所有药物有哪些"
"奥希替尼有哪些禁忌症"
"PD-1 抑制剂和哪些基因靶点有关联"

Layer 3 — 临床推理图(医生思维模型)

这是最核心的一层,记录"怎么想"而不是"是什么"。包含三种结构:

结构说明举例
疾病脚本 每个疾病的完整认知卡片:定义、什么人容易得、典型表现、怎么诊断、治疗原则、危险信号 肺癌的完整知识框架
临床路径 条件分支决策树,每一步标注证据来源和禁忌条件 EGFR 突变阳性 → 奥希替尼;ALK 融合 → 阿来替尼;无驱动基因 → 化疗+免疫
鉴别诊断树 遇到某症状时应排除哪些疾病、怎么区分、下一步做什么检查 孤立性肺结节:肺癌(高概率) vs 感染(中概率) vs 错构瘤(低概率)

3.3 产品定位

系统不替医生做决策,而是帮医生更好地做循证判断。输出方式是路径分析式呈现:"基于你的条件,路径 A 的优势是 X、代价是 Y;路径 B 的优势是 W、代价是 Z。最终由医生结合患者实际情况决定。"

这一"帮医生整理证据、做路径比较"的定位,参考了 UpToDate Expert AI(已部署在 44,000+ 医疗机构)的成功路线,也吸取了 IBM Watson Oncology(试图让 AI 自主推荐、最终失败被出售)的教训。

3.4 预期效果

场景类型举例预期准确率
事实查询"奥希替尼的靶点是什么"~95%
证据综合"EGFR 突变 NSCLC 一线方案有哪些"~85%
条件决策"EGFR T790M 阳性且一代 TKI 失败后怎么办"~75%
鉴别诊断"孤立性肺结节该排除什么"~70%

3.5 当前进展

技术方案已完成设计(v2.2),端到端代码已实现。数据提取按三步走:

  1. 1-2 章验证:先用肺癌 + 胰腺癌跑通整个管线,验证 LLM 抽取质量 进行中
  2. 44 章肿瘤学:聚焦 Harrison 第 4 部分(Oncology,约 460 页),用完整的肿瘤学知识图谱验证端到端效果
  3. 全书扩展:验证通过后扩展到全部 440 章,覆盖所有内科系统

四、大模型调用基础设施

4.1 多渠道弹性 API

为解决数据处理的大规模并发需求,搭建了多渠道 LLM 调用池:

4.2 数据处理 Token 消耗评估

三种来源在摘要处理、全文处理、向量化三个环节的预估 Token 消耗:

LLM 调用(摘要/全文指标提取)

来源处理方式记录数输入 Token输出 Token
PubMed 外文摘要提取277,000~3.3 亿~1.7 亿
PubMed 外文PDF 全文提取168~170 万~17 万
医脉通中文摘要提取46,000~6,000 万~3,200 万
临床指南PDF 全文提取~1,000~1,000 万~120 万
合计~324,000~4.0 亿~2.0 亿

估算口径:摘要提取按每条输入 ~1,200 token(摘要文本 + 提取 prompt)、输出 ~600 token;PDF 全文提取按每条输入 ~10,000 token、输出 ~1,000 token。

向量化(Embedding)

来源嵌入调用次数输入 Token
PubMed 外文~415,000~1.3 亿
医脉通中文~69,000~2,800 万
临床指南~2,000~100 万
合计~486,000~1.6 亿

估算口径:每条记录产生 1-2 个向量(摘要 + 可选 PDF 证据文本),每次嵌入调用输入 ~300-500 token。

4.3 知识图谱构建 Token 消耗评估

教科书和指南两个来源的 KG 构建(5 轮 LLM 提取)预估 Token 消耗:

教科书(Harrison)

范围章节数输入 Token输出 Token说明
肿瘤学(44 章)44~430 万~63 万Harrison Part IV Oncology
全书440~4,300 万~630 万全部 440 章

估算口径:每章平均 2 个 chunk,5 轮提取(实体抽取→关系抽取→疾病脚本→临床路径→鉴别诊断),每章输入 ~9.8 万 token、输出 ~1.4 万 token。另含别名扩展等辅助调用。

指南

范围指南数输入 Token输出 Token说明
临床指南~1,000~1,500 万~450 万含推荐意见、证据分级等结构化提取

估算口径:每份指南按 3 轮提取,输入 ~1.5 万 token、输出 ~4,500 token。

五、评测体系

5.1 评测目的

5.2 调研范围

调研了 5 个公开的医学基准数据集,均为学术研究中广泛使用的标准评测集:

数据集来源学术引用
MedQA中国大陆医师资格考试题库Jin et al., Applied Sciences, 2021
PubMedQA生物医学研究型循证问答Jin et al., EMNLP 2019
MedMCQA印度医学入学考试题库Pal et al., ACL 2022
CMB-Clin中文临床病例分析(完整病史+多轮问答)Wang et al., arXiv 2023
CMB-Exam中文医学考试选择题同上

5.3 实际整理的题库

从上述 5 个数据集中,通过肿瘤学关键词过滤,形成了 OpenMed 专属的肿瘤临床评测题库,共 22,587 道:

数据源语言题型题量评测维度
MedQA中文选择题3,912基础知识准确率
MedMCQA英文选择题17,642基础知识准确率
CMB-Exam中文选择题789基础知识准确率
PubMedQA英文yes/no/maybe224循证推理能力
CMB-Clin中文开放性临床问答20 病例 / 56 问临床推理与综合分析
合计22,587

5.4 典型题目示例

MedQA — 中国医师资格考试(选择题)
乳腺癌癌瘤长径约 4cm,该肿瘤属(  )
A. Tis B. T1 C. T2 D. T3 E. T4
答案:C(T2:肿瘤最大径 >2cm 但 ≤5cm)
CMB-Clin — 临床病例分析(肾母细胞瘤,3 岁患儿)
患儿男性,3 岁,4 个月前母亲替他洗澡时发现右侧上腹部无痛性肿块,如苹果大小。近几天来感觉肿块较前明显增大,但仍不痛。

问题 1:此病人最可能的诊断是什么?
问题 2:需要与哪些疾病相鉴别?是否还要做进一步的检查?
问题 3:治疗原则是什么?
PubMedQA — 循证推理(yes/no/maybe)
Is locoregional opening of the blood-brain barrier using laser-induced thermo therapy effective for adjuvant glioma treatment?
附带论文摘要作为 context。答案:yes
手写开放性临床场景(8 题)
• 65 岁 EGFR 突变阳性晚期肺腺癌患者,奥希替尼耐药后怎么办
• PD-L1 表达低于 1% 的晚期肺癌还能用免疫治疗吗
• 免疫治疗引起肺炎怎么处理,需要停药吗
• 小细胞肺癌一线化疗后复发,二线治疗方案有哪些

5.5 评测方法

题型评测方式指标
选择题自动化(比对答案字母)Accuracy
yes/no/maybe半自动(比对结论)Accuracy + F1
开放性临床问答LLM-as-judge 或专家人工评审综合评分

六、前端功能更新

v0.0.4 新增以下功能性页面(位于 /dev/ 路径下):

页面功能
知识图谱浏览器4 个 Tab:主题树浏览、实体搜索、关系图谱可视化(vis-network 交互式图谱)、临床推理查看
文献详情页单篇文献完整信息展示:元数据、向量命中、评分明细、原文内容
文档分析页批量文献质量分析
问答分析页历史问答的效果回顾与分析

主问答页功能改进:深度模式 7 步进度展示(查询分析 → 检索 → 排序 → 缺口分析 → 补充检索 → 原文复核 → 综合)、会话自动恢复修复、后台分析入口整合。

v0.0.3 版本说明可通过页面顶部版本切换器查看。本期关键里程碑:04/12 检索策略与知识图谱方向讨论会 → 04/13-14 检索系统重构 → 04/15 教科书 KG 模块设计定稿 → 04/16 评测题库构建(22,587 题) → 04/17 LLM 多渠道弹性 API 上线 & KG 管线开始运行。