{"id":13753514,"url":"https://github.com/MediaBrain-SJTU/MING","last_synced_at":"2025-05-09T21:35:31.129Z","repository":{"id":152637342,"uuid":"624889833","full_name":"MediaBrain-SJTU/MING","owner":"MediaBrain-SJTU","description":"明医 (MING)：中文医疗问诊大模型","archived":false,"fork":false,"pushed_at":"2024-10-24T05:02:47.000Z","size":140719,"stargazers_count":871,"open_issues_count":21,"forks_count":109,"subscribers_count":15,"default_branch":"ming-moe","last_synced_at":"2024-11-26T17:02:51.707Z","etag":null,"topics":["consultation","huggingface","llm","medical","pytorch","transformers"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MediaBrain-SJTU.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-07T14:09:56.000Z","updated_at":"2024-11-26T13:03:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"a7a6f800-14b4-4392-ba73-fa8d159408b5","html_url":"https://github.com/MediaBrain-SJTU/MING","commit_stats":null,"previous_names":["mediabrain-sjtu/ming"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaBrain-SJTU%2FMING","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaBrain-SJTU%2FMING/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaBrain-SJTU%2FMING/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MediaBrain-SJTU%2FMING/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MediaBrain-SJTU","download_url":"https://codeload.github.com/MediaBrain-SJTU/MING/tar.gz/refs/heads/ming-moe","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253328972,"owners_count":21891559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["consultation","huggingface","llm","medical","pytorch","transformers"],"created_at":"2024-08-03T09:01:23.696Z","updated_at":"2025-05-09T21:35:31.117Z","avatar_url":"https://github.com/MediaBrain-SJTU.png","language":"Python","funding_links":[],"categories":["文本生成、文本对话","Specialized Medical LLMs","大语言模型LLMs","Medical LLMs \u0026 Foundation Models","中文医疗大模型"],"sub_categories":["大语言对话模型及数据"],"readme":"\r\n\r\n# 明医 (MING)：中文医疗问诊大模型\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\".\\img\\bgimage.png\" width=800px/\u003e\r\n\u003c/p\u003e\r\n\r\n\r\n\u003cdiv align=\"center\"\u003e\u003cimg src=\"https://img.shields.io/badge/Version-1.3--alpha-brightgreen\"\u003e \u003cimg src=\"https://img.shields.io/badge/Code%20License-Apache_2.0-green.svg\"\u003e \u003cimg src=\"https://img.shields.io/badge/python-3.9+-blue.svg\"\u003e\u003c/div\u003e\r\n\r\n## 🌐项目简介\r\n\r\n本项目开源了基于医疗指令微调的中文医疗问诊模型：**明医 (MING)**。目前模型的主要功能如下：\r\n\r\n\u003c!DOCTYPE html\u003e\r\n\u003chtml\u003e\r\n\u003cbody\u003e\r\n\u003ctable style=\"width: 100%;\"\u003e\r\n  \u003ctr style=\"border-collapse: collapse; border: transparent;\"\u003e\r\n      \u003ctd style=\"width: 50%; border-collapse: collapse;border: transparent;\"\u003e\u003cimg src=\".\\img\\demo1.gif\" alt=\"demo1\"/\u003e\u003c/td\u003e\r\n      \u003ctd style=\"width: 50%; border-collapse: collapse;border: transparent;\"\u003e\u003cimg src=\".\\img\\demo2.gif\" alt=\"demo2\"/\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n  \u003ctr style=\"border-collapse: collapse; border: transparent;\"\u003e\r\n      \u003ctd style=\"width: 50%; border-collapse: collapse;border: transparent;\" \u003e\u003cdiv align=\"center\"\u003e\u003cstrong\u003e医疗问答\u003c/strong\u003e：对医疗问题进行解答，对案例进行分析。\u003c/div\u003e\u003c/td\u003e\r\n      \u003ctd style=\"width: 50%; border-collapse: collapse;border: transparent;\"\u003e\u003cdiv align=\"center\"\u003e\u003cstrong\u003e智能问诊\u003c/strong\u003e：多轮问诊后给出诊断结果和建议。\u003c/div\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\u003c/table\u003e\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n\r\n## 📄相关论文\r\n* MING-MOE技术报告: MING-MOE: Enhancing Medical Multi-Task Learning in Large Language Models with Sparse Mixture of Low-Rank Adapter Experts] [[paper](https://arxiv.org/pdf/2404.09027.pdf)]\r\n\r\n* 基于多智能体交互的大语言模型多轮问诊自动评估框架: Automatic Interactive Evaluation for Large Language Models with State Aware Patient Simulator [[paper](https://arxiv.org/pdf/2403.08495.pdf)][[code](https://github.com/BlueZeros/Automatic_Interactive_Evaluation)]\r\n\r\n* 二阶段解耦学习的临床大模型对齐方法: MEDCARE: Advancing Medical LLMs through Decoupling Clinical Alignment and Knowledge Aggregation [[paper](https://arxiv.org/pdf/2406.17484v3)] [[code](https://github.com/BlueZeros/MedCare)]\r\n\r\n* 基于工具自适应学习与反思的医学智能体和多维度评估基准: ReflecTool: Towards Reflection-Aware Tool-Augmented Clinical Agents [[paper](https://arxiv.org/abs/2410.17657)] [[code](https://github.com/BlueZeros/ReflecTool)]\r\n\r\n## 💫更新\r\n* 🔥 [2024/04/14] 开源了基于Qwen1.5指令微调的专家混合模型MING-MOE\r\n\r\n* [2024/03/14] 开源了基于Qwen1.5-1.8b指令微调的MING-1.8B\r\n\r\n* [2023/07/25] 开源了基于bloomz-7b指令微调的MING-7B\r\n\r\n* [2023/07/25] MedicalGPT-zh更名为**MING**\r\n\r\n  \r\n\r\n##  🔬开源模型\r\n\r\n\u003c!DOCTYPE html\u003e\r\n\u003chtml\u003e\r\n\u003chead\u003e\r\n\u003c/head\u003e\r\n\u003cbody\u003e\r\n\u003ctable style=\"width: 80%;\"\u003e\r\n  \u003ctr\u003e\r\n      \u003ctd style=\"width: 20%;\"\u003e\u003cdiv align=\"center\"\u003e\u003cstrong\u003e模型\u003c/strong\u003e\u003c/div\u003e\u003c/td\u003e\r\n      \u003ctd style=\"width: 20%;\"\u003e\u003cdiv align=\"center\"\u003e\u003cstrong\u003e基座\u003c/strong\u003e\u003c/div\u003e\u003c/td\u003e\r\n      \u003ctd style=\"width: 30%;\"\u003e\u003cdiv align=\"center\"\u003e\u003cstrong\u003eHuggingFace\u003c/strong\u003e\u003c/div\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n  \r\n  \u003ctr\u003e\r\n      \u003ctd\u003e\u003ccenter\u003eMING-7B\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e\u003ca href=\"https://huggingface.co/bigscience/bloomz-7b1-mt\"\u003ebloomz-7b1-mt\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e🤗\u003ca href=\"https://huggingface.co/BlueZeros/MING-7B\"\u003eMING-7B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\r\n  \u003ctr\u003e\r\n      \u003ctd\u003e\u003ccenter\u003eMING-1.8B\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e\u003ca href=\"https://huggingface.co/Qwen/Qwen1.5-1.8B-Chat\"\u003eQwen1.5-1.8B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e🤗\u003ca href=\"https://huggingface.co/BlueZeros/MING-1.8B\"\u003eMING-1.8B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\r\n  \u003ctr\u003e\r\n      \u003ctd\u003e\u003ccenter\u003eMING-MOE-1.8B\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e\u003ca href=\"https://huggingface.co/Qwen/Qwen1.5-1.8B-Chat\"\u003eQwen1.5-1.8B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e🤗\u003ca href=\"https://huggingface.co/BlueZeros/MING-MOE-1.8B\"\u003eMING-MOE-1.8B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\r\n  \u003ctr\u003e\r\n      \u003ctd\u003e\u003ccenter\u003eMING-MOE-4B\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e\u003ca href=\"https://huggingface.co/Qwen/Qwen1.5-4B-Chat\"\u003eQwen1.5-4B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e🤗\u003ca href=\"https://huggingface.co/BlueZeros/MING-MOE-4B\"\u003eMING-MOE-4B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\r\n  \u003ctr\u003e\r\n      \u003ctd\u003e\u003ccenter\u003eMING-MOE-7B\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e\u003ca href=\"https://huggingface.co/Qwen/Qwen1.5-7B-Chat\"\u003eQwen1.5-7B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e🤗\u003ca href=\"https://huggingface.co/BlueZeros/MING-MOE-7B\"\u003eMING-MOE-7B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\r\n  \u003ctr\u003e\r\n      \u003ctd\u003e\u003ccenter\u003eMING-MOE-14B\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e\u003ca href=\"https://huggingface.co/Qwen/Qwen1.5-14B-Chat\"\u003eQwen1.5-14B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccenter\u003e🤗\u003ca href=\"https://huggingface.co/BlueZeros/MING-MOE-14B\"\u003eMING-MOE-14B\u003c/a\u003e\u003c/center\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\u003c/table\u003e\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n\r\n\r\n## ⚡快速开始\r\n\r\n1. 配置环境（测试环境如下，具体版本可以根据实际需求配置）\r\n\r\n   * python==3.9.16\r\n   * pytorch==2.0.1+cu117\r\n   * peft==0.9.0\r\n\r\n2. 安装项目依赖 \r\n\r\n   ```bash\r\n   git clone https://github.com/MediaBrain-SJTU/MING\r\n   cd MING\r\n   pip install -e .\r\n   ```\r\n\r\n2. 下载模型参数并运行（要求单卡显存 \u003e= 15G）\r\n    * MING-MOE\r\n   ```bash\r\n   CUDA_VISIBLE_DEVICES=0 python -m ming/serve/cli.py \\\r\n       --model_path {path_to_checkpoint} \\ # 模型路径\r\n       --model_base {path_to_base_model} \\ # 基座模型路径\r\n       --max_new_token 3072 # 输出最大长度\r\n   ```\r\n\r\n   * MING-1.8B\r\n   ```bash\r\n   CUDA_VISIBLE_DEVICES=0 python -m ming/serve/cli.py \\\r\n       --model_path {path_to_checkpoint} \\ # 模型路径\r\n       --max_new_token 2048 # 输出最大长度\r\n   ```\r\n\r\n   * MING-7B\r\n   ```bash\r\n   CUDA_VISIBLE_DEVICES=0 python -m ming/serve/cli.py \\\r\n       --model_path {path_to_checkpoint} \\ # 模型路径\r\n       --conv_template bloom \\ # prompt\r\n       --max_new_token 512 \\ # 输出最大长度\r\n       --beam_size 3 \\ # beam search宽度\r\n       --temperature 1.2 # 采样温度\r\n   ```\r\n   \r\n   * 注：由于transformers库的问题，当beam-size \u003e 1时，需要满足temperature\u003e=1.0，否则会报错。\r\n\r\n4. 命令行运行实例\r\n\r\n   * 对话支持多轮\r\n\r\n   * 对话中输入关键词 `new chat` 能够开启新一轮对话。\r\n\r\n\r\n## 🧭测试样例\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\".\\img\\case1.png\" width=800px/\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\".\\img\\case2.png\" width=800px/\u003e\r\n\u003c/p\u003e\r\n\r\n\r\n\r\n## 🪶贡献\r\n\r\n本项目由上海交通大学未来媒体网络协同创新中心和上海人工智能实验室智慧医疗中心合作研发。模型数据系统主要由廖育生，江书洋，刘泓呈，孟昱同完成，指导教师为[王钰](https://mediabrain.sjtu.edu.cn/yuwang/)副教授。\r\n\r\n\r\n\r\n## 免责声明\r\n\r\n预训练模型是基于大量语料库和算法模型进行训练的，并且在训练过程中可能存在偏差、错误和不完整的信息。因此，本项目提供的预训练模型仅供参考和研究使用，并不能保证其准确性和可靠性。使用预训练模型产生的结果可能存在误差和偏差，不能用于实际应用或决策。本项目不对使用预训练模型所产生的结果承担任何责任，也不对因使用预训练模型所产生的任何损失承担责任。使用者在使用预训练模型时应自行承担风险并进行自我验证。\r\n\r\n\r\n\r\n## 引用\r\n\r\n如果你使用了本项目的数据或者代码，请声明引用\r\n\r\n```latex\r\n@article{liao2024ming,\r\n  title={MING-MOE: Enhancing Medical Multi-Task Learning in Large Language Models with Sparse Mixture of Low-Rank Adapter Experts},\r\n  author={Liao, Yusheng and Jiang, Shuyang and Wang, Yu and Wang, Yanfeng},\r\n  journal={arXiv preprint arXiv:2404.09027},\r\n  year={2024}\r\n}\r\n```\r\n\r\n```latex\r\n@misc{MING,\r\n  author={Yusheng Liao, Yutong Meng, Hongcheng Liu, Yu Wang, Yanfeng Wang},\r\n  title = {明医 (MING)：中文医疗问诊大模型},\r\n  year = {2023},\r\n  publisher = {GitHub},\r\n  journal = {GitHub repository},\r\n  howpublished = {\\url{https://github.com/MediaBrain-SJTU/MING}},\r\n}\r\n```\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMediaBrain-SJTU%2FMING","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMediaBrain-SJTU%2FMING","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMediaBrain-SJTU%2FMING/lists"}