病患資料不出門,Maziyar Panahi 打造的醫療 AI 模型庫。247 個隱私檢查點,iOS MLX 支援,Pinokio 一鍵安裝。
台灣醫療工作者的核心痛點: 想用 AI 輔助病歷摘要、藥物查詢、醫學文獻閱讀,但把病患資料傳給 ChatGPT 或 Claude 顧慮重重——個資法、醫院 IT 政策、病患信任。openmed 的答案是:根本不需要傳出去。
openmed 是由 Maziyar Panahi 主導開發的開源醫療 AI 模型庫。Panahi 同時也是 John Snow Labs Spark NLP 的核心開發者之一,在醫療 NLP 領域有超過 10 年的實際部署經驗。
openmed 的核心設計哲學只有一個:醫療 AI 的資料主權應該屬於醫療機構,不屬於雲端服務商。
具體來說,openmed 提供:
⚠️ 重要聲明: openmed 是輔助工具,不是醫療診斷替代品。本文介紹技術使用方法,所有醫療決策仍需由合格醫療專業人員負責。
台灣的醫療資料保護面臨三個現實限制:
openmed 的 100% 本地推論架構,讓以上四個問題同時得到解決。
Pinokio 是一個 AI 工具一鍵安裝平台,openmed 已在 2026 年 6 月更新至 Pinokio App Store,適合不熟悉命令列的醫護人員。
前往 pinokio.computer 下載安裝包(支援 macOS、Windows、Linux)。安裝完成後開啟 Pinokio。
在 Pinokio 的 Discover 頁面搜尋 openmed,點擊 Install。Pinokio 會自動下載模型和依賴套件(首次安裝約需 5-20 分鐘,視網速和選擇的模型大小)。
安裝完成後,在 Pinokio 介面選擇要使用的模型類別(如「臨床筆記摘要」或「藥物查詢」),點擊 Start。openmed 會在本地啟動 REST API 服務。
# 建立虛擬環境
python -m venv openmed-env
source openmed-env/bin/activate # Windows: openmed-env\Scripts\activate
# 安裝 openmed
pip install openmed
# 下載並啟動醫療摘要模型(7B 參數,約 4GB)
openmed download --model clinical-summarizer-7b --lang zh-tw
openmed serve --model clinical-summarizer-7b --port 8080
from openmed import MedicalAI
# 初始化,privacy_mode=True 啟用 247 個 PII 檢查點
ai = MedicalAI(model="clinical-summarizer-7b", privacy_mode=True)
# 病歷摘要(資料完全在本地處理)
note = """
病患,45歲男性,主訴胸悶三天,
活動後明顯,休息後緩解。無發燒,
有高血壓病史,目前服用 amlodipine 5mg。
"""
summary = ai.summarize(note, output_format="structured")
print(summary)
# 輸出:主訴、病史、用藥、評估重點的結構化摘要
# PII 自動遮蔽:年齡保留,其他可識別資訊依設定遮蔽
openmed 支援 Apple Silicon 的 MLX 加速推論,在 iPhone 15 Pro / M 系列 Mac 上可流暢運行。
# macOS 安裝(Apple Silicon)
pip install mlx-lm openmed[mlx]
# 下載 MLX 量化版模型(4-bit 量化,比原始模型小 75%)
openmed download --model clinical-qa-7b --format mlx-4bit
# 啟動 MLX 加速推論
openmed serve --model clinical-qa-7b --backend mlx --port 8080
// 在 iOS App 中呼叫本地 openmed 服務
// 服務運行在同一台 iPad Pro 上,不需要網路
import Foundation
struct MedQuery {
let endpoint = "http://localhost:8080/v1/query"
func ask(_ question: String) async throws -> String {
let body = ["query": question, "privacy_mode": true] as [String: Any]
var request = URLRequest(url: URL(string: endpoint)!)
request.httpMethod = "POST"
request.httpBody = try JSONSerialization.data(withJSONObject: body)
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let (data, _) = try await URLSession.shared.data(for: request)
let response = try JSONDecoder().decode(MedResponse.self, from: data)
return response.answer
}
}
// 全程本地,病患資料不離開 iPad
openmed 啟動後提供標準 OpenAI 相容的 REST API,可以直接替換現有呼叫 ChatGPT API 的程式碼:
# 藥物交互作用查詢
curl -X POST http://localhost:8080/v1/query \
-H "Content-Type: application/json" \
-d '{
"model": "drug-interaction-7b",
"query": "Warfarin 和 Aspirin 同時使用的風險?",
"privacy_mode": true,
"language": "zh-tw"
}'
# 回應:
# {
# "answer": "Warfarin 和 Aspirin 合併使用會顯著增加出血風險...",
# "confidence": 0.94,
# "sources": ["PMID:12345678", "台灣藥典第七版"],
# "pii_detected": false,
# "processing_location": "local" // 確認本地處理
# }
| 方案 | 資料主權 | 離線支援 | 醫療專用 | 中文支援 | 費用 |
|---|---|---|---|---|---|
| openmed | ✅ 完全本地 | ✅ 100% 離線 | ✅ 1,000+ 醫療模型 | ✅ 繁中/簡中 | 免費 (Apache 2.0) |
| ChatGPT + 醫療 GPT | ❌ OpenAI 雲端 | ❌ 需要網路 | ⚠️ 通用模型微調 | ✅ | $20+/月 |
| Claude (Anthropic) | ❌ Anthropic 雲端 | ❌ 需要網路 | ⚠️ 通用模型 | ✅ | $20+/月 |
| Azure OpenAI (醫療版) | ⚠️ Azure 雲端(可選台灣區) | ❌ | ⚠️ | ✅ | $高(企業授權) |
| Ollama + 通用 LLM | ✅ 本地 | ✅ | ❌ 非醫療專用 | ⚠️ | 免費 |
openmed 的獨特優勢在於:它不只是把通用模型放到本地跑,而是提供了1,000+ 個針對醫療文本專門微調的模型加上醫療場景隱私保護機制,這是其他方案難以替代的組合。
個人電腦或 iPad 以外,openmed 也可以部署在醫療機構的內網伺服器,讓全院醫護透過內網存取。DigitalOcean 提供符合 HIPAA 要求的 Droplet 選項,適合需要合規認證的醫療機構。新帳號享 $200 免費額度。
🚀 DigitalOcean HIPAA 合規伺服器這是 openmed 最被忽略但最重要的功能。247 個 PII 檢查點分為三個層級:
from openmed import MedicalAI
ai = MedicalAI(model="clinical-summarizer-7b", privacy_mode=True, language="zh-tw")
# 輸入診間手寫筆記的 OCR 文字
raw_note = """
王先生,54M,主訴:右膝疼痛 2 週,上下樓梯明顯
PMH: DM type 2 (on metformin), HTN
Physical: 右膝輕度腫脹,ROM 受限,McMurray(-), Lachman(-)
"""
result = ai.summarize(raw_note, template="soap")
# 輸出 SOAP 格式摘要,姓名自動遮蔽
ai = MedicalAI(model="drug-interaction-7b")
check = ai.check_interactions(
drugs=["metformin 500mg", "lisinopril 10mg", "aspirin 100mg"],
patient_context="CKD stage 3, age 65-75"
)
print(check.warnings)
print(check.severity) # LOW / MODERATE / HIGH / CONTRAINDICATED
ai = MedicalAI(model="icd-coder-medical")
diagnosis_text = "右膝半月板退化性撕裂,輕度滑膜炎"
codes = ai.suggest_icd_codes(diagnosis_text, version="ICD-10-CM", lang="zh-tw")
for code in codes:
print(f"{code.code}: {code.description} (confidence: {code.confidence:.0%})")
# M23.209: 半月板撕裂,未特定部位 (confidence: 87%)
# M65.861: 右膝滑膜炎 (confidence: 79%)
openmed 是由 Maziyar Panahi(Spark NLP 核心開發者)建立的開源醫療 AI 模型庫,匯集 1,000+ 個專為醫療場景微調的語言模型,支援 12 種語言,內建 247 個 PII 隱私資料檢查點,100% 裝置端推論,病患資料完全不上傳雲端。
非常適合。台灣《個人資料保護法》對醫療資料有嚴格規範,openmed 的 100% 離線推論架構確保病患個資不離開醫療機構設備。它支援繁體中文(透過多語言模型),以及 iOS/macOS 的 MLX 加速,適合台灣臨床、研究、和醫療 App 開發場景。
openmed 在推論流水線中內建了 247 個 PII(個人識別資訊)偵測和遮蔽機制,涵蓋姓名、身份證字號、出生日期、電話、地址、診斷碼、藥物名稱等醫療敏感資料類型。這些機制在輸入前、推論中、輸出後三個階段自動執行,確保即使是本地推論也不會在日誌或輸出中洩漏病患識別資訊。
可以,openmed 支援 iOS/iPadOS 的 Apple MLX 框架加速推論。建議使用 Apple Silicon(A15 以上)裝置,搭配 mlx-lm 套件載入 openmed 量化模型(4-bit 或 8-bit),在 iPhone 15 Pro 上可流暢推論 7B 以下的醫療模型,適合需要行動辦公的醫護人員。
最大差別是資料主權:ChatGPT 需要把文字傳到 OpenAI 雲端伺服器,醫療資料存在隱私風險,且受美國 CLOUD Act 管轄。openmed 完全在本地裝置運行,病患資料不離開設備,符合台灣個資法要求。此外,openmed 的模型是針對醫療文本(病歷、論文、藥物說明書)專門微調,在醫療問答準確度上優於通用模型。
openmed 是工具,背後需要 AI Engineering 知識才能穩健部署。DataCamp 的 AI for Healthcare 課程提供從理論到實作的完整路徑,適合醫療 IT、研究人員、和有興趣轉型的醫護人員。
📖 DataCamp AI for Healthcare 課程 🛍️ Claude Code 省費工具包本文含聯盟行銷連結。透過本站連結購買,我們可能獲得少許佣金,不影響您的費用。本文內容僅供技術參考,不構成醫療建議。