本文只描述医生端当前默认运行原则。历史检索实验、旧版权重表与后台分析入口不属于医生端运行真相。
OpenMed v0.0.3 面向临床医生提供循证问答。系统围绕文档级证据组织召回、评分、生成与引用呈现,目标不是展示内部调试过程,而是让回答可核查、可追溯、可直接回到原始来源。
当前默认行为以 canonical truth map 为准:先按来源分离向量召回,再在文档级合并结果后仅按证据等级分排序;历史混合检索实验、旧版权重表和面向后台的分析页面都不再构成医生端运行说明。
主问答页 / 提供输入框、推荐问题、流式答案、引用 hover、参考文献面板与会话历史侧栏,支持医生在单页内完成提问、阅读与追溯。
医生端只保留主问答页 / 与运行原理页 /system-doc.html。引用卡片面向医生提供最小必要信息:片段默认截断到 240 字,支持回看原始 PDF 或来源页面;后台分析能力属于独立后台边界,不在医生端路径和叙事中展开。
| 阶段 | 当前实现(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 字;前端先收英文片段,后台异步回填中文翻译。 |
数据来源固定为三类:外文文献(foreign)、中文核心文献(yiigle)、临床指南(guide)。每篇文档先完成字段校验、来源归类与可检索性判断,再发布为医生端可用证据。
文档级证据单元要求同一篇文档在医生端只占一个排序位置。摘要向量文本只来自源记录,PDF 向量文本只来自保留章节;没有 PDF 的文档仍可仅凭摘要进入召回。
AI 在这里仅承担两类职责:抽取打分参数,以及抽取可向量化证据文本。真正的评分、时间衰减和排序由脚本按规则计算,而不是由医生端页面临时解释或拼接旧公式。
| 来源 | 摘要向量文本 | PDF 向量文本(若存在) | 保留章节 |
|---|---|---|---|
| 外文文献 | 来自源记录摘要 | 来自文档精华文本 | Methods / Results |
| 中文核心 | 来自源记录摘要 | 来自文档精华文本 | 方法 / 结果 |
| 临床指南 | 来自源记录摘要 | 来自文档精华文本 | 推荐意见 / 证据等级 |
| 来源 | 当前规则 |
|---|---|
| 外文文献 | 研究设计 × 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 为实现基线。
覆盖周期:2026/04/12 – 04/17。本期完成了检索问答系统升级、知识图谱方案设计与实现、文献数据处理管线重构,以及评测体系建设。
已完成 摘要级处理全部完成,包括 AI 摘要清洗、结构化指标提取、三层评分(v2.3)、向量嵌入。每篇文献已可被语义检索命中。
下一步计划:用深度检索验证实际效果。初步判断摘要的检索命中率和评分置信度与全文不会差太多(向量的精度误差主要来自模型本身而非文本长度差异),因此摘要处理完成后即可验证系统在肿瘤学领域的效果。
已完成 所有指南的 PDF 全文处理完毕(PDF → 结构化文本 → 指标提取 → 评分 → 向量化入库)。指南数据含推荐意见、证据分级、适用人群等结构化字段。
| 数据来源 | 规模 | 当前状态 |
|---|---|---|
| PubMed 外文文献 | 27.7 万条元数据 | 摘要处理完成 待验证效果 |
| 医脉通中文核心 | 4.6 万条 | 框架就绪 待批量处理 |
| 临床指南 | ~1,000 条 | PDF 全文处理完成 |
基于 4/12 会议讨论的精神——"问题理解 → 标准化语义拆解 → 召回 → 问题相关性判断 → 迭代检索回答"——对检索与问答系统进行了系统性功能升级。
系统将医生的中文/英文提问自动拆解为 3-5 条英文检索查询,每条覆盖不同证据角度(疗效、安全性、特定人群、不同证据类型等)。同时提取 PICO 要素(患者人群、干预措施、对照方案、临床结局)和临床意图。
3-5 条检索查询同时并行执行,覆盖三大来源:PubMed(上限 10 篇)、中文核心(5 篇)、指南(5 篇)。每个来源独立排序后按配额截取,合并去重。
对每篇候选文献,调用 LLM 进行 1-10 分证据相关性评判。评判标准区分"语义相似"和"临床相关"(语义相似但临床问题不同 = 不相关)。
时效性权重:2 年内 = 1.0,2-5 年 = 0.8,5-10 年 = 0.5,10 年以上 = 0.3。
仅基于检索到的证据生成回答,不编造内容。每个医学事实标注引用来源,疗效数据必须给出具体数字(HR、OS 中位数、95%CI、p 值),证据矛盾时明确指出。
系统自动评估当前证据是否足以回答临床问题。如果缺少关键亚组数据、中国人群数据、长期随访数据等,自动生成 1-3 条补充检索查询。最多循环 3 轮,总文献上限 50 篇。
从排序后的证据中挑选最多 10 篇论文进行深度复核。三级溯源策略:Markdown 全文 → PDF 实时解析 → 结构化数据回退。原文内容附加到 LLM 上下文中,确保回答基于完整论文而非仅摘要片段。
| 维度 | v0.0.3 | v0.0.4 |
|---|---|---|
| 查询理解 | 翻译为英文 + PICO | 多角度检索策略生成 + 临床意图识别 |
| 检索方式 | 单查询检索 | 3-5 条查询并行检索 |
| 证据排序 | 规则加权公式 | LLM 语义评判 + 多维融合 |
| 证据充分性 | 无评估 | 自动缺口分析 + 定向补充(深度模式) |
| 原文利用 | 仅用摘要/片段 | 逐篇原文复核溯源(深度模式) |
为 Harrison's《内科学原理》(第 22 版,4273 页,440 章)构建结构化知识图谱,基于以下原因:
保留教科书的原始层级结构(大分科 → 小分科 → 具体章节),为每一章生成摘要和关键词。相当于把整本教科书的目录数字化,支持结构化浏览。
从每一章中用 AI 自动提取 12 类医学实体(疾病、药物、基因、生物标志物、治疗方案等)及其 12 类关系(治疗、靶向、推荐、禁忌、关联等)。每条关系记录适用条件、禁忌情况和替代方案。
这是最核心的一层,记录"怎么想"而不是"是什么"。包含三种结构:
| 结构 | 说明 | 举例 |
|---|---|---|
| 疾病脚本 | 每个疾病的完整认知卡片:定义、什么人容易得、典型表现、怎么诊断、治疗原则、危险信号 | 肺癌的完整知识框架 |
| 临床路径 | 条件分支决策树,每一步标注证据来源和禁忌条件 | EGFR 突变阳性 → 奥希替尼;ALK 融合 → 阿来替尼;无驱动基因 → 化疗+免疫 |
| 鉴别诊断树 | 遇到某症状时应排除哪些疾病、怎么区分、下一步做什么检查 | 孤立性肺结节:肺癌(高概率) vs 感染(中概率) vs 错构瘤(低概率) |
这一"帮医生整理证据、做路径比较"的定位,参考了 UpToDate Expert AI(已部署在 44,000+ 医疗机构)的成功路线,也吸取了 IBM Watson Oncology(试图让 AI 自主推荐、最终失败被出售)的教训。
| 场景类型 | 举例 | 预期准确率 |
|---|---|---|
| 事实查询 | "奥希替尼的靶点是什么" | ~95% |
| 证据综合 | "EGFR 突变 NSCLC 一线方案有哪些" | ~85% |
| 条件决策 | "EGFR T790M 阳性且一代 TKI 失败后怎么办" | ~75% |
| 鉴别诊断 | "孤立性肺结节该排除什么" | ~70% |
技术方案已完成设计(v2.2),端到端代码已实现。数据提取按三步走:
为解决数据处理的大规模并发需求,搭建了多渠道 LLM 调用池:
三种来源在摘要处理、全文处理、向量化三个环节的预估 Token 消耗:
| 来源 | 处理方式 | 记录数 | 输入 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。
| 来源 | 嵌入调用次数 | 输入 Token |
|---|---|---|
| PubMed 外文 | ~415,000 | ~1.3 亿 |
| 医脉通中文 | ~69,000 | ~2,800 万 |
| 临床指南 | ~2,000 | ~100 万 |
| 合计 | ~486,000 | ~1.6 亿 |
估算口径:每条记录产生 1-2 个向量(摘要 + 可选 PDF 证据文本),每次嵌入调用输入 ~300-500 token。
教科书和指南两个来源的 KG 构建(5 轮 LLM 提取)预估 Token 消耗:
| 范围 | 章节数 | 输入 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 个公开的医学基准数据集,均为学术研究中广泛使用的标准评测集:
| 数据集 | 来源 | 学术引用 |
|---|---|---|
| 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 个数据集中,通过肿瘤学关键词过滤,形成了 OpenMed 专属的肿瘤临床评测题库,共 22,587 道:
| 数据源 | 语言 | 题型 | 题量 | 评测维度 |
|---|---|---|---|---|
| MedQA | 中文 | 选择题 | 3,912 | 基础知识准确率 |
| MedMCQA | 英文 | 选择题 | 17,642 | 基础知识准确率 |
| CMB-Exam | 中文 | 选择题 | 789 | 基础知识准确率 |
| PubMedQA | 英文 | yes/no/maybe | 224 | 循证推理能力 |
| CMB-Clin | 中文 | 开放性临床问答 | 20 病例 / 56 问 | 临床推理与综合分析 |
| 合计 | 22,587 |
| 题型 | 评测方式 | 指标 |
|---|---|---|
| 选择题 | 自动化(比对答案字母) | Accuracy |
| yes/no/maybe | 半自动(比对结论) | Accuracy + F1 |
| 开放性临床问答 | LLM-as-judge 或专家人工评审 | 综合评分 |
v0.0.4 新增以下功能性页面(位于 /dev/ 路径下):
| 页面 | 功能 |
|---|---|
| 知识图谱浏览器 | 4 个 Tab:主题树浏览、实体搜索、关系图谱可视化(vis-network 交互式图谱)、临床推理查看 |
| 文献详情页 | 单篇文献完整信息展示:元数据、向量命中、评分明细、原文内容 |
| 文档分析页 | 批量文献质量分析 |
| 问答分析页 | 历史问答的效果回顾与分析 |
主问答页功能改进:深度模式 7 步进度展示(查询分析 → 检索 → 排序 → 缺口分析 → 补充检索 → 原文复核 → 综合)、会话自动恢复修复、后台分析入口整合。