openmed

本地跑医疗AI,患者数据不出院,隐私合规两不误

openmed 是一个本地优先的医疗 AI 开源项目,专注于临床命名实体识别(NER)和 HIPAA 合规的 PII 去标识化,所有处理完全在设备端运行,无需云端参与,确保患者数据不离开本地网络。项目提供超过 2200 个医疗模型,覆盖 21 种语言,基于 Apple MLX 和 Python 构建,采用 Apache-2.0 许可。它解决的核心问题是医疗数据隐私与合规性,让医院、诊所和研究人员能在不暴露敏感信息的前提下,利用 AI 进行临床文本分析,如提取疾病、药物、症状等实体,并自动移除身份信息。核心能力包括高精度实体识别、多语言支持、离线推理,以及与现有 Python 生态的无缝集成。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 5361
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队maziyarpanahi
所属国家
定价模式free
价格说明完全开源免费,Apache-2.0许可,本地部署,无云服务,无付费版本。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型android,clinical-nlp,healthcare,hipaa,ios,javascript,llm,local-llm,mlx,ner,nlp,on-device,on-premise,pii,pii-detection,python,skills,sovereign-ai,swift,swiftui
GitHub 星标★ 5361
30天Star增速
HF 下载量
上线时间2025-10-04 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数7

使用教程

难度:入门 约 10 分钟 部署方式:本地安装 5 步

环境要求

  • Python 3.10 及以上(README 标注 Python 3.10+)
  • pip 可用的 Python 环境(用于 pip install openmed[hf])
  • 可选:Docker(如需用容器方式运行)
  • 首次使用需联网下载模型产物,之后本地推理

安装与启动步骤

  1. 1安装 openmed 包

    用 pip 安装带 Hugging Face 运行时的 openmed,支持 Linux、macOS、Windows 的 CPU 或 CUDA 环境。

    pip install --upgrade "openmed[hf]"
  2. 2启动本地 REST 服务

    用 uvicorn 启动 openmed.service.app,监听 0.0.0.0:8080,并设置模型空闲 10 分钟后自动释放。

    OPENMED_SERVICE_KEEP_ALIVE=10m uvicorn openmed.service.app:app --host 0.0.0.0 --port 8080
  3. 3调用 PII 提取接口

    POST /pii/extract 传入文本和语言代码,返回实体文本、标签、置信度与起止位置。

    curl -X POST http://127.0.0.1:8080/pii/extract -H "Content-Type: application/json" -d '{"text":"Paciente: Maria Garcia, DNI: 12345678Z","lang":"es"}'
  4. 4Docker 方式运行

    在项目根目录构建镜像后运行容器,映射 8080 端口并指定生产配置档。

    docker build -t openmed:local .
    docker run --rm -p 8080:8080 -e OPENMED_PROFILE=prod openmed:local
  5. 5卸载模型释放内存

    服务提供 GET /models/loaded 与 POST /models/unload,可在空闲时释放已加载的模型、分词器和管道。

    curl -X POST http://127.0.0.1:8080/models/unload -H "Content-Type: application/json" -d '{"all":true}'

关键配置

配置项必填说明示例
OPENMED_PROFILE否运行配置档,Docker 示例中设为生产模式prod
OPENMED_SERVICE_KEEP_ALIVE否模型空闲多久后自动卸载释放内存10m

如何确认成功

启动日志出现 INFO: Uvicorn running on http://0.0.0.0:8080,且 /pii/extract 返回含 entities 的 JSON。

常见问题

Q:数据会被上传到云端吗?

A:核心本地运行时在模型产物就绪后本地完成抽取与去标识化;但模型下载、远程服务适配器和遥测路径可能联网,使用前请查看各模型与数据集的条款。

Q:如何释放模型占用的内存?

A:可调用 GET /models/loaded 查看已加载模型,再用 POST /models/unload 卸载,并配合 OPENMED_SERVICE_KEEP_ALIVE 设置空闲自动卸载窗口。

Q:支持哪些语言?

A:README 标注支持 33 种模型驱动的 PII 语言,请求时通过 lang 字段指定,例如 es 表示西班牙语。

Q:能不能在 Android 上用?

A:可以。OpenMedKit 提供 Android/Kotlin 库,通过 ONNX Runtime Mobile 本地推理,可用 JitPack 依赖 com.github.maziyarpanahi:openmed:v2.3.0。

注意事项

  • README 明确提示:模型下载、远程提供方适配器、开启遥测的路径和用户自定义集成可能使用网络,须自行审阅各模型与数据集的使用条款。
  • 生产环境建议使用 API-key/JWT 认证、no-PHI 日志等 v1.8 服务能力,并通过 /livez、/readyz 做健康检查。
  • Docker 示例把 8080 端口映射到宿主机,部署到公网前请确认访问控制与限流配置。
  • Android 集成需在 settings.gradle.kts 中额外添加 JitPack 仓库并限定 includeGroup("com.github.maziyarpanahi")。

核心亮点

  • 2200+ 医疗模型覆盖多病种,开箱即用,无需自己训练
  • 完全离线推理,杜绝数据泄露风险,满足 HIPAA 合规要求
  • 支持 21 种语言,适合跨国医疗场景

不足之处

  • 依赖 Apple 生态,非 Mac 设备性能可能受限
  • 文档/社区待观察

适用场景

  • 医院临床文本去标识化,用于科研数据共享
  • 医疗聊天机器人本地实体抽取,保护患者隐私
  • 跨国医疗文档处理,多语言 NER 需求

替代项目

spaCy、Hugging Face Transformers、CLAMP

项目介绍

openmed 是行业应用领域的开源项目,由 maziyarpanahi 开发,2025 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(5,361)位列前 9%,在行业应用分类的 545 个项目里位列前 6%。

近 41 天,它的 GitHub 星标从 4,976 增加到 5,361,净增 385。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。完全开源免费,Apache-2.0许可,本地部署,无云服务,无付费版本。

它主要面向的使用场景是:医院临床文本去标识化,用于科研数据共享。同类可对比的替代方案包括 spaCy、Hugging Face Transformers、CLAMP。

上一篇:osmedeus

下一篇:ciso-assistant-community

同类项目推荐

xmgai-like 开源

换脸、艺术二维码随手玩,副业灵感一包带走。

本开源 AI 副业搞钱项目集成了强大功能,包括 AI 艺术二维码生成、AI 换脸、Delle3 绘画等···

★ 60 2026-08-09
spoken-to-signed-translation 开源

把口语文本一路转成手语视频的流水线

a text-to-gloss-to-pose-to-video pipeline for spoken to signed language translation

★ 102 2026-09-11
LiveTranslate 开源

直播看片实时翻译,字幕秒出,跨语言无压力

Real-time audio translation, captures system audio + mic, runs ASR (Whisper/SenseVoi···

★ 691 2026-08-13