MCM(Multimodal Chinese Medical LLM)是由上海计算机软件技术开发中心研发的多模态中医药问诊大模型,该模型可以通过与用户的对话进行问诊,问诊过程支持医学影像处理,问诊过程由知识图谱驱动,具备可解释性,同时支持常用中医知识问答。
[2024.07.03] MCM获得了浦源大模型夏季挑战赛一等奖!🥇🥇
[2024.06.22] MCM 第一版上线!

我们基于XTuner进行了知识注入。搜集了医学开源数据集、中医典籍等语料,并通过这些语料对InternLM2-20B模型进行了增量预训练(Continuous Pre-train, CPT);然后,通过基于中文问题生成的开源预训练模型MT5生成生成QA对,并结合现有开源中医多轮对话QA对,进行了有监督微调(Supervised Fine-tune,SFT),最终实现了针对医疗知识的知识注入和问诊模式微调。
我们利用大模型将所搜集的中医典籍中的文言文翻译为现代汉语;然后利用OneKE知识抽取大模型对翻译后的中医典籍进行三元组抽取,抽取了包括疾病、方剂、临床表现、病因、药材、功效、性味、入药部位、用法用量、注意事项等10种实体与12种关系,并利用neo4j图数据库将这些三元组构建成知识图谱。

由于医学问诊场景的特殊性,为实现切实可落地,我们构建了一个可解释问诊Agent。该Agent后端由多源数据检索RAGAgent和医学影像处理大模型MedDr联合驱动,在问诊过程中可将思考过程输出,并构建了高效的上下文维护机制,具有对无关对话的鲁棒性。
本项目的智能评测采用了团队开发的大语言模型全栈式自动测评工具箱GreatLibrarian。首先获取医学领域的benchmark数据集,将其转换为开放式问题,然后使用测评工具箱GreatLibrarian对微调后的模型进行自动化测评,生成测评报告,在整个开发过程中可以对性能进行随时监控。
git clone <GithubRepo>
export PYTHONPATH=\$PYTHONPATH:<Local Path>
conda create -n MCM python=3.10
conda activate MCM
python -m pip install -r requirements.txt
注:Neo4j 5.x需要安装jdk17,以下第一行命令为在ubuntu下安装jdk17,若已安装可跳过,windows或mac os可前往官网下载安装包(https://www.oracle.com/java/technologies/downloads/archive/ )
sudo apt-get install openjdk-17-jdk # 若已安装则可跳过
cd Dist/libs/neo4j-community-5.20.0/bin
neo4j start
conf.yaml # 所有的配置
src/utils/translator.py # 填写自己的SecretID和SecretKey
python demo.py
@misc{2024MCM,
title={MCM: Multimodal Chinese Medical Large Model},
author={MCM Contributors},
howpublished = {\url{https://github.com/JerryMazeyu/MCM}},
year={2024}
}
该项目采用 Apache License 2.0 开源许可证 同时,请遵守所使用的模型与数据集的许可证。
Python
99.3%
MCM(Multimodal Chinese Medical LLM)是由上海计算机软件技术开发中心研发的多模态中医药问诊大模型,该模型可以通过与用户的对话进行问诊,问诊过程支持医学影像处理,问诊过程由知识图谱驱动,具备可解释性,同时支持常用中医知识问答。
[2024.07.03] MCM获得了浦源大模型夏季挑战赛一等奖!🥇🥇
[2024.06.22] MCM 第一版上线!

我们基于XTuner进行了知识注入。搜集了医学开源数据集、中医典籍等语料,并通过这些语料对InternLM2-20B模型进行了增量预训练(Continuous Pre-train, CPT);然后,通过基于中文问题生成的开源预训练模型MT5生成生成QA对,并结合现有开源中医多轮对话QA对,进行了有监督微调(Supervised Fine-tune,SFT),最终实现了针对医疗知识的知识注入和问诊模式微调。
我们利用大模型将所搜集的中医典籍中的文言文翻译为现代汉语;然后利用OneKE知识抽取大模型对翻译后的中医典籍进行三元组抽取,抽取了包括疾病、方剂、临床表现、病因、药材、功效、性味、入药部位、用法用量、注意事项等10种实体与12种关系,并利用neo4j图数据库将这些三元组构建成知识图谱。

由于医学问诊场景的特殊性,为实现切实可落地,我们构建了一个可解释问诊Agent。该Agent后端由多源数据检索RAGAgent和医学影像处理大模型MedDr联合驱动,在问诊过程中可将思考过程输出,并构建了高效的上下文维护机制,具有对无关对话的鲁棒性。
本项目的智能评测采用了团队开发的大语言模型全栈式自动测评工具箱GreatLibrarian。首先获取医学领域的benchmark数据集,将其转换为开放式问题,然后使用测评工具箱GreatLibrarian对微调后的模型进行自动化测评,生成测评报告,在整个开发过程中可以对性能进行随时监控。
git clone <GithubRepo>
export PYTHONPATH=\$PYTHONPATH:<Local Path>
conda create -n MCM python=3.10
conda activate MCM
python -m pip install -r requirements.txt
注:Neo4j 5.x需要安装jdk17,以下第一行命令为在ubuntu下安装jdk17,若已安装可跳过,windows或mac os可前往官网下载安装包(https://www.oracle.com/java/technologies/downloads/archive/ )
sudo apt-get install openjdk-17-jdk # 若已安装则可跳过
cd Dist/libs/neo4j-community-5.20.0/bin
neo4j start
conf.yaml # 所有的配置
src/utils/translator.py # 填写自己的SecretID和SecretKey
python demo.py
@misc{2024MCM,
title={MCM: Multimodal Chinese Medical Large Model},
author={MCM Contributors},
howpublished = {\url{https://github.com/JerryMazeyu/MCM}},
year={2024}
}
该项目采用 Apache License 2.0 开源许可证 同时,请遵守所使用的模型与数据集的许可证。
Python
99.3%