OpenMed 2.3:患者数据不出机构即可对 PDF 与邮件脱敏,并在浏览器和手机上本地运行
医疗 AI 库 OpenMed 把这一版铺到了 Python、JavaScript、Swift 与 Android。253 次提交、14,099 项测试、3,994 个新增公共符号,且没有一处删除。脱敏在无法对齐时现在会明确失败,而不是悄悄留下缺口。
开源医疗 AI 库 OpenMed 发布了 2.3.0 版。发布说明的标题概括了这次工作:“跨 Python、JavaScript、Swift 与 Android 的本地优先医疗 AI。”该仓库拥有 5,200 颗星。
为什么“本地优先”在这个领域是一个独立问题
医疗 AI 面前的障碍不是模型质量,而是数据去了哪里。患者记录、出院小结、影像或往来信件一旦离开机构,工作就变成法律问题。OpenMed 的整个架构建立在这一点上:处理发生在机构自己的机器上,数据不外流。
2.3 在这一侧加入了具体能力:一条重建 PDF 阅读顺序并执行嵌入式脱敏的通路,并验证源文本确实被移除、产出带掩码的证据。从 HTML 中提取可见文本时同时带出源位置偏移。此外还加入了邮件(EML)脱敏、显式隔离的可选 MSG 桥接、RTF 与定宽文本接入,以及笔记本单元格脱敏。
明确失败,而不是无声的缺口
发布说明里的一个细节,对受监管机构而言比标题更有价值。在 JavaScript 一侧的脱敏中,当某个 token 无法对齐时,系统现在会产生一个不含内容的失败;此前它会悄悄产出不完整的脱敏。
在一个安全或合规产品里,这个差别就是全部。悄悄脱敏不全的文档,会被当作已脱敏而分享出去;而明确失败的操作会停下来并交给人处理。同一版本中,默认模型也从一个不可用的模型换成了公开的 ClinicalE5 33M ONNX,为 Transformers.js 输出恢复了源位置偏移,并保留了分解重音符与增补 Unicode 字母。
可以跑在哪里
- 浏览器:WebGPU,并带确定性的 WASM 回退
- Android:QNN/NNAPI 选择,带 CPU 回退
- iOS:分享与操作扩展
- 桌面:Electron 与 Tauri 桥接
- 服务器:TensorRT 导出、GGUF、MLX 优化、边缘单板机适配
部署侧有 KServe、Triton、Kubernetes operator、HPA、自托管 Compose 与本地服务适配器。数据侧的 OpenSearch、Elasticsearch、Spark、Beam、Airflow、LlamaIndex、PostgreSQL 与 dbt 连接均为可选启用。
临床证据与边界
该版本加入了确定性的证据表、限定范围的物质使用(SDOH)抽取,以及区分经历者的患者记录跨度过滤。同意核验不再抛出异常而是返回结果,并且是在辅助性使用与合格审阅两条边界之下进行。产品把自己定位为接受人工审阅的辅助层,而非作出诊断者。
发布纪律
这些数字作为成熟度信号值得注意。自 2.2.0 以来共 253 次提交、652 个文件变更;公共 Python 符号清单从 37,735 增至 41,729,即新增 3,994 个,且没有任何删除、重命名或签名收窄。REST 契约保持兼容,19 条路径、17 个模式。项目还宣布 14,099 项 Python 测试全部通过。
安装方式:Python 侧 pip install --upgrade "openmed==2.3.0",JavaScript 侧 npm install openmed@2.3.0;Swift Package Manager 与经由 JitPack 的 Android 包也已发布。