CareGPT
中文医疗大模型开源全栈方案:聚合60+科室医疗数据,支持LLaMA/ChatGLM多基座微调与Gra
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
中文医疗大模型开源全栈方案:聚合60+科室医疗数据,支持LLaMA/ChatGLM多基座微调与Gra
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一位基层医生,深夜值班时遇到一位用方言描述症状的老年患者——「胸口闷,像有东西压着」,他需要快速判断是否涉及心血管急症,同时还要查阅患者既往用药史与最新临床指南。通用大模型虽能生成流畅文本,但在面对医学术语、多轮问诊推理、科室分诊等场景时,常常「一本正经地胡说八道」:将「阿司匹林」误识别为抗生素,或在妇科问题中混入泌尿科建议。
更核心的问题是:医疗场景对准确性要求极高,而通用模型的幻觉率在专业领域是不可接受的。2023年7月,一批来自学术机构和医院的开发者发起了 CareGPT 项目,目标是构建一个覆盖医学数据训练、微调、评估、部署全流程的开源医疗LLM平台,让没有顶级算力的中小型医疗机构也能用上经过专业医疗数据训练的AI助手。
CareGPT 由开发者 WangRongsheng 创建和维护,项目与论文《CareLlama: Towards Building Open-source Medical LLMs for Chinese Healthcare》紧密关联。该项目不只是发布一个模型权重,而是提供一整套工具链:包括数据收集与处理、模型微调(支持LLaMA/LLaMA-2/ChatGLM/Baichuan等主流基座)、多维度评估、以及多种部署方式的完整解决方案。
项目上线后迅速获得社区关注,目前 GitHub 标星 992+,fork 122,被收录于多个医疗AI资源列表。开发者还参与了 CMb 医学LLM评测榜单(CMB Benchmark),在测试中表现优于 ChatGPT 及多款同期开源医疗模型。
CareGPT 聚合了极为丰富的医疗训练数据,包括:
预训练数据:中医古籍文本(近700项,如《伤寒论》)、医学指南(epfl-llm/guidelines)、公开医学文献数据集。
监督微调数据:
专属数据:项目方还开源了超过60个医院科室的导诊材料,以及通过 GPT-4/DataMaker 工具蒸馏生成的高质量医疗训练数据,可直接用于知识库构建和模型微调。
项目基于 llmtuner 训练框架(位于 src/llmtuner/),支持以下训练模式:
| 训练方式 | 说明 |
|---|---|
| 全量参数微调 | 适用于有充足GPU资源的企业场景 |
| LoRA | 低秩适配,大幅降低显存需求 |
| QLoRA | 量化+LoRA,7B模型可在单卡24GB显存运行 |
| PPO/DPO 强化学习 | 基于人类反馈的偏好对齐训练 |
支持的基座模型涵盖:LLaMA、LLaMA-2、ChatGLM、Baichuan 等,所有训练均通过 src/train_bash.py 统一入口调用 llmtuner.run_exp()。
eval/ 目录包含针对不同基座模型(Baichuan-53B、ChatGLM3-6B)的评估脚本,对模型输出的医学准确性、临床推理能力进行量化打分。
Gradio Web界面(Gradio/):基于 gradio>=3.36,提供流式输出对话界面,适合快速体验和演示。app.py 实现了完整的聊天逻辑,包括上下文历史管理、token长度检查、system prompt定制等功能。
API服务(src/api_demo.py):基于 FastAPI + Uvicorn,提供 RESTful 接口,文档地址 http://localhost:8000/docs,适合生产环境集成。
Web Demo(src/web_demo.py):基于 llmtuner 内置 WebUI,适合开发调试。
ChatGPT微调部署:ChatGPT/ 目录提供将微调后的模型部署到 ChatGPT-Next-Web 的完整流程。
CareGPT 的代码结构清晰分层:
src/
├── llmtuner/ # 核心训练推理框架
│ ├── api/ # FastAPI 接口层
│ ├── chat/ # 对话逻辑
│ ├── dsets/ # 数据集处理
│ ├── extras/ # 扩展工具(量化、加速)
│ ├── hparams/ # 超参数管理
│ ├── tuner/ # 各种训练方法(lora/qlora/ppo/dpo)
│ └── webui/ # Web界面
├── api_demo.py # FastAPI 入口
├── cli_demo.py # 命令行对话入口
├── web_demo.py # WebUI 入口
├── train_bash.py # 训练脚本入口
└── export_model.py # 模型导出
核心依赖:PyTorch + Transformers + PEFT(LoRA/QLoRA)+ TRL(PPO/DPO)+ Accelerate。推理侧使用 Gradio 提供交互界面,API 层基于 FastAPI,实现前后端分离。
推荐使用:
门槛较高:
相比同类医疗LLM(如 Benhua/MedicalGPT、shibing624/MedicalGPT),CareGPT 的独特优势在于:
无法替代专业医疗建议:项目README和Gradio界面均明确声明:模型输出仅供参考,不能作为实际医学诊断依据。医疗场景的特殊性决定了任何AI辅助工具都必须有专业医生把关。
部署资源门槛高:训练阶段需要高端GPU,推理阶段至少需要24GB显存,这对中小型医疗机构仍是挑战。
中文医疗数据质量参差:部分公开数据集存在标注质量不一的问题,可能影响模型输出的可靠性。
无容器化支持:项目未提供 Dockerfile 或 docker-compose.yaml,依赖手动环境配置,增加了部署复杂度。
CareGPT 代表了医疗AI领域的一个重要趋势:从单点模型发布,向全栈开源生态演进。
2023年是医疗LLM元年,涌现了大量针对医疗场景微调的模型。但大多数项目止步于发布权重,缺乏可持续的数据更新、统一的评估标准和便捷的部署工具。CareGPT 的价值在于将散落的资源整合为统一框架,降低了医疗AI研究的重复劳动。
从增长曲线看,该项目自发布以来保持活跃更新(最近一次提交为2026年6月),Star数和Fork数稳步增长。随着更多医疗数据的开源和模型压缩技术的进步,类似项目的门槛有望进一步降低,推动医疗AI真正走向基层医疗机构。