{"id":13437641,"url":"https://github.com/SCIR-HI/Med-ChatGLM","last_synced_at":"2025-03-19T17:33:20.120Z","repository":{"id":149905392,"uuid":"621824192","full_name":"SCIR-HI/Med-ChatGLM","owner":"SCIR-HI","description":"Repo for Chinese Medical ChatGLM 基于中文医学知识的ChatGLM指令微调","archived":false,"fork":false,"pushed_at":"2023-05-19T09:17:15.000Z","size":842,"stargazers_count":937,"open_issues_count":28,"forks_count":144,"subscribers_count":11,"default_branch":"main","last_synced_at":"2024-07-31T03:17:31.039Z","etag":null,"topics":["chinese","medical","medqa","nlp"],"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/SCIR-HI.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}},"created_at":"2023-03-31T13:16:32.000Z","updated_at":"2024-07-30T07:37:49.000Z","dependencies_parsed_at":"2024-01-07T06:23:15.271Z","dependency_job_id":"c6142a98-c97e-4a3b-82d1-43532ffed294","html_url":"https://github.com/SCIR-HI/Med-ChatGLM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SCIR-HI%2FMed-ChatGLM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SCIR-HI%2FMed-ChatGLM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SCIR-HI%2FMed-ChatGLM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SCIR-HI%2FMed-ChatGLM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SCIR-HI","download_url":"https://codeload.github.com/SCIR-HI/Med-ChatGLM/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221729723,"owners_count":16871088,"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":["chinese","medical","medqa","nlp"],"created_at":"2024-07-31T03:00:58.934Z","updated_at":"2024-10-27T20:30:17.300Z","avatar_url":"https://github.com/SCIR-HI.png","language":"Python","funding_links":[],"categories":["Med-ChatGLM/data","🤖 模型","Python","Specialized Medical LLMs","A01_文本生成_文本对话","Models","中文医疗大模型","**Medical LLMs with psychiatry knowledge**"],"sub_categories":["🧩 领域模型","大语言对话模型及数据","英文","***2023***"],"readme":"\n# ChatGLM-Med: 基于中文医学知识的ChatGLM模型微调\n\n[![Code License](https://img.shields.io/badge/Code%20License-Apache_2.0-green.svg)](https://github.com/SCIR-HI/Med-ChatGLM/blob/main/LICENSE)\n[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/release/python-390/)\n\n\n本项目开源了经过中文医学指令精调/指令微调(Instruct-tuning) 的ChatGLM-6B模型。我们通过医学知识图谱和GPT3.5 API构建了中文医学指令数据集，并在此基础上对ChatGLM-6B进行了指令微调，提高了ChatGLM在医疗领域的问答效果。\n\n基于相同的数据，我们还训练了医疗版本的LLaMA模型: [华驼](https://github.com/SCIR-HI/Huatuo-Llama-Med-Chinese)\n\n## A Quick Start\nUpdate: 由于chatglm更新很快，推荐使用chatglm官方的微调方案：https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md\n\n\n\n首先安装依赖包，python环境建议3.9+\n\n```\npip install -r requirements.txt\n```\n## 模型下载\n训练好的模型参数可以通过如下方式下载：\n\n| 模型名称              | 大小 |                                                                              模型下载地址                                                                              | \n| :----------------- | :------: |:----------------------------------------------------------------------------------------------------------------------------------------------------------------:| \n| ChatGLM-6B-Med   |    约13.4GB       | [[百度网盘]](https://pan.baidu.com/s/1Sfi1bRwV741GIChIEOUW0A?pwd=i73e)\u003cbr\u003e[[GoogleDrive]](https://drive.google.com/drive/folders/1ZQSN56DloRGQ-Qj7IwzY4jV3ZHKMe9Bc)  | \n\n\n## 交互式测试\n在安装好环境后，即可进行交互式测试：\n\n```\npython infer.py\n```\n## 数据集构建\n我们采用了公开和自建的中文医学知识库，主要参考了[cMeKG](https://github.com/king-yyf/CMeKG_tools)。\n医学知识库围绕疾病、药物、检查指标等构建，字段包括并发症，高危因素，组织学检查，临床症状，药物治疗，辅助治疗等。知识库示例如下:\n\n```\n{\"中心词\": \"偏头痛\", \"相关疾病\": [\"妊娠合并偏头痛\", \"恶寒发热\"], \"相关症状\": [\"皮肤变硬\", \"头部及眼后部疼痛并能听到连续不断的隆隆声\", \"晨起头痛加重\"], \"所属科室\": [\"中西医结合科\", \"内科\"], \"发病部位\": [\"头部\"]}\n```\n我们利用GPT3.5接口围绕医学知识库构建问答数据，设置了多种Prompt形式来充分利用知识。\n\n指令微调的训练集数据示例如下：\n\n```\n\"问题：一位年轻男性长期使用可卡因，突然出现胸痛、呕吐、出汗等症状，经检查发现心电图反映心肌急性损伤，请问可能患的是什么疾病？治疗方式是什么？\"\n回答: 可能患的是心肌梗塞，需要进行维拉帕米、依普利酮、硝酸甘油、ß阻滞剂、吗啡等药物治疗，并进行溶栓治疗、低分子量肝素、钙通道阻滞剂等辅助治疗。此外需要及时停用可卡因等药物，以防止病情加重。\"\n```\n指令微调数据集质量仍有限，后续将进行不断迭代，同时医学知识库和数据集构建代码还在整理中，整理完成将会发布。\n\n## Instruct-tuning 指令微调  \n### 下载ChatGLM-6B原始参数\n请参照[https://github.com/THUDM/ChatGLM-6B](https://github.com/THUDM/ChatGLM-6B)，并将下载的模型放入`model`目录下。\n\n### 指令微调\n\n```\nsh scripts/sft_medchat.sh\n```\n请根据实际情况调整batch size等超参，默认为我们使用的参数。\n\n### 新数据指令微调\n\n如果想用自己的数据集继续指令微调/指令精调（Instruct-tuning）ChatGLM，可以构建与`data`目录中训练集类似的文件格式进行。或参照[ChatGLM-Instruct-Tuning](https://github.com/thinksoso/ChatGLM-Instruct-Tuning/issues)仓库。\n### 计算资源需求\n我们在一张A100-SXM-80GB显卡上进行了训练，根据经验，训练显存建议选择32G及以上。\n\n## 模型效果对比\n\n| 测试输入 | ChatGLM-6B输出  | ChatGLM-6B-Med输出 |\n|:------------- |:---------------| :-------------|\n| 谷氨酰转肽酶水平会因吸毒或饮酒而升高吗?     | 吸毒和饮酒都会对身体的健康产生负面影响,包括对肝脏和心脏的影响。\u003cbr\u003e饮酒可能导致肝脏损伤和心脏疾病,因为酒精会破坏肝脏和心脏的功能。长期饮酒还可能导致脂肪肝、肝硬化、心脏病等健康问题。\u003cbr\u003e吸毒会对肝脏和心脏产生严重的损伤,导致肝脏纤维化、肝硬化、心脏血管疾病等。吸毒还可能导致精神障碍、社会退缩、暴力和犯罪等问题。\u003cbr\u003e因此,无论是饮酒还是吸毒,都会对健康产生负面影响,应该避免过度使用。 | 谷氨酰转肽酶升高的原因有很多,包括感染、消化性溃疡、感染、药物副作用等,而吸毒或饮酒等不良行为可能会导致谷氨酰转肽酶的升高。 |\n| 小李最近出现了心动过速的症状，伴有轻度胸痛。体检发现P-R间期延长，伴有T波低平和ST段异常    | 非常抱歉,我不理解您的问题。请提供更多背景信息或上下文,以便我更好地回答您的问题。谢谢! | 小李出现了心动过速的症状,并且伴有胸痛,需要考虑是否有心肌病、冠状动脉粥样硬化等心血管疾病,建议进行心电图检查、血液检查、心脏超声检查等 |\n| ......     |         ...... |......|\n\n## 常见问题\n1. Q: 报错 ValueError: 130001 is not in list / ValueError: 150001 is not in list\n\n   A: 由于相关依赖更新较快，版本的不同会导致一些bug\n\n    (1) 如果报错为150001 is not in list，请将仓库更新至最新版本\n    \n    (2) 如果报错为130001 is not in list，请将仓库回退至commit为cb9d827的版本，链接为https://github.com/SCIR-HI/Med-ChatGLM/tree/cb9d82738021ec6f82b307d6031e8595a49dcb00\n2. Q: 模型效果有限\n\n   A: 由于ChatGLM本身训练策略没有开源，本仓库内提供的指令微调训练方法可能会对ChatGLM的基础能力带来负面影响。出于版权等因素考虑，未来我们的模型迭代会侧重开源模型。\n\n\n## 项目参与者\n本项目由哈尔滨工业大学社会计算与信息检索研究中心健康智能组[王昊淳](https://github.com/s65b40) 、[刘驰](https://github.com/thinksoso)完成，指导教师为[赵森栋](http://homepage.hit.edu.cn/stanzhao?lang=zh)副教授，秦兵教授以及刘挺教授。 \n\n## 致谢\n\n本项目参考了以下开源项目，在此对相关项目和研究开发人员表示感谢。\n\n- ChatGLM: [https://github.com/THUDM/ChatGLM-6B](https://github.com/THUDM/ChatGLM-6B)\n- ChatGLM-Instruct-Tuning: [https://github.com/thinksoso/ChatGLM-Instruct-Tuning/issues](https://github.com/thinksoso/ChatGLM-Instruct-Tuning/issues)\n- CMeKG: [https://github.com/king-yyf/CMeKG_tools](https://github.com/king-yyf/CMeKG_tools)\n\n## 免责声明\n本项目相关资源仅供学术研究之用，严禁用于商业用途。使用涉及第三方代码的部分时，请严格遵循相应的开源协议。模型生成的内容受模型计算、随机性和量化精度损失等因素影响，本项目无法对其准确性作出保证。本项目数据集绝大部分由模型生成，即使符合某些医学事实，也不能被用作实际医学诊断的依据。对于模型输出的任何内容，本项目不承担任何法律责任，亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。\n\n\n## Citation\n如果你使用了本项目的数据或者代码，请声明引用\n\n```\n@misc{ChatGLM-Med,\n  author={Haochun Wang, Chi Liu, Sendong Zhao, Bing Qin, Ting Liu},\n  title = {ChatGLM-Med: 基于中文医学知识的ChatGLM模型微调},\n  year = {2023},\n  publisher = {GitHub},\n  journal = {GitHub repository},\n  howpublished = {\\url{https://github.com/SCIR-HI/Med-ChatGLM}},\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSCIR-HI%2FMed-ChatGLM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSCIR-HI%2FMed-ChatGLM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSCIR-HI%2FMed-ChatGLM/lists"}