dgo2dance / medical-chatbot

基于ChatGLM3基座模型和LLAMA-Factory框架进行微调的一个中医问答机器人

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

medical-chatbot

本项目基于LLaMA-Factory项目和ChatGLM3-6B基座模型,通过指令微调旨在训练一个专注于中医问诊的聊天机器人。通过整合fastllm项目转化微调模型,同时应用模型量化技术,以提高推理速度,最终模型的推理速度实现了显著的提升。同时,还可以选择使用检索增强生成(RAG)提高模型回复的性能。

将下载后的数据文件放在data文件夹下,运行代码python preprocess.py进行预处理

微调后模型权重

百度网盘:
链接:https://pan.baidu.com/s/1VXLkzX0uJnAQ4CKU6xH30g?pwd=d4uy
提取码:d4uy
将下载后的模型权重替换medical-chatbot文件夹

微调前后效果对比

问题 ChatGLM3 medical-chatbot
小孩一直在呕吐,怎么办? \n我很抱歉听到您的孩子一直在呕吐。以下是一些可能有助于缓解孩子呕吐症状的中医建议:\n\n1. 观察孩子的呕吐情况:详细记录孩子的呕吐时间、频率、呕吐物等信息,以便更好地了解孩子的状况。\n\n2. 查看孩子的舌象和脉象:中医诊断基于舌象和脉象。请让孩子张开嘴巴,让我看孩子的舌象,并请 mei 脉象。根据舌象和脉象的情况,可以确定孩子的身体状况,并制定相应的治疗方案。\n\n3. 给孩子清淡饮食:如果孩子能够进食,请尽量给予清淡、易消化的食物,比如稀粥、白米饭、煮熟的蔬菜等。避免辛辣、油腻、刺激性食物。\n\n4. 和教育孩子保持休息:让孩子尽量休息,避免过度活动。\n\n5. 使用中药:根据孩子的具体情况,我可以提供一些中药建议。比如,如果孩子呕吐是由于胃寒,可以使用温胃散;如果孩子呕吐是由于积食,可以使用保和丸等。\n\n6. 寻求专业医生的帮助:如果孩子的呕吐症状持续不改善,或者伴随其他症状,请及时寻求专业医生的帮助。\n\n希望这些建议能有所帮助。请随时告诉我您的问题或担忧。" 小孩呕吐可能是由多种原因引起的,比如消化不良、食物中毒、感染、药物反应等。以下是一些可能有助于缓解呕吐症状的方法:\n\n1. 保持饮食清淡:给小孩提供清淡易消化的食物,如米粥、面条、馒头等,避免油腻、辛辣、刺激性食物。\n\n2. 喝温水:给小孩喝温水有助于缓解胃部不适。\n\n3. 保持休息:让小孩休息,避免过度疲劳。\n\n4. 保持水分摄入:给小孩多喝水,以保持身体水分。\n\n5. 药物治疗:如果小孩呕吐严重,可以考虑使用一些药物,如胃复安、胃复康等,但需要在医生的指导下使用。\n\n如果小孩呕吐持续时间较长或症状严重,建议及时就医,以便医生进行进一步的诊断和治疗。
患者反复出现恶心症状,没有其他症状,如何治疗? \n首先,我需要强调的是,我是一名人工智能助手,不是一名真正的中医医生。但是,根据中医的相关理论,恶心症状可能与多种因素有关,例如饮食不当、情志不舒、体质等。在没有其他症状的情况下,中医的治疗方法主要包括以下几个方面:\n\n1. 饮食调养:避免食用油腻、辛辣、生冷、刺激性食物,增加易消化、营养丰富的食物,如粥、蒸菜等。\n\n2. 调节情绪:保持良好的心态,避免情志不舒,学会放松心情。\n\n3. 草药治疗:根据患者的体质和症状,中医医生可能会开具一些草药,以调和气血、化痰化湿等,帮助缓解恶心症状。\n\n4. 针灸和拔罐:针灸和拔罐等治疗方法可以调理气血、改善循环,有助于缓解恶心症状。\n\n5. 中医养生:保持良好的作息习惯,适当进行锻炼,提高身体抵抗力。\n\n请注意,以上建议仅供参考,具体治疗还请遵循中医医生的建议。如有需要,请咨询专业的中医医生以获得更详细的诊断和治疗方案。 恶心是一种常见的症状,可以由多种原因引起,包括消化系统问题、神经系统问题、药物反应等。如果患者反复出现恶心症状,没有其他症状,建议进行以下治疗:\n\n1. 饮食调理:避免辛辣、油腻、刺激性食物,增加蔬菜、水果、粗粮等易消化的食物。\n\n2. 药物治疗:可以采用中药调理,如黄连、黄芩、陈皮等具有清热解毒、调理肠胃的中药。也可以采用西药治疗,如抗酸药、抗炎药等。\n\n3. 心理治疗:恶心症状可能与焦虑、紧张、压力等情绪因素有关,可以通过心理治疗来缓解情绪。\n\n4. 调整生活习惯:避免过度劳累、熬夜等不良生活习惯,保持充足的睡眠和休息。\n\n需要注意的是,如果恶心症状持续时间较长或伴随其他症状,建议及时就医,进行全面的检查和治疗。
我患有目昏和胸痛的症状,没有其他症状,请推荐中药。 \n目昏和胸痛的症状可能涉及到肝和心脏的疾病。根据您的症状,我建议您使用以下中药方剂进行调理:\n\n1. 丹参饮\n - 丹参:10克\n - 赤芍:10克\n - 川芎:10克\n - 郁金:10克\n - 枸杞子:10克\n - 菊花:10克\n\n2. 失笑散\n - 当归:10克\n - 川芎:10克\n - 丹参:10克\n - 白芍:10克\n - 郁金:10克\n - 延胡索:10克\n\n以上两个方剂都可以用于调理肝和心脏的疾病,缓解目昏和胸痛的症状。建议您在专业医生的指导下使用。同时,保持良好的生活习惯和饮食结构也是非常重要的。 根据您提供的症状,建议您考虑以下中药:\n\n1. 丹参:具有活血化瘀、消肿止痛的功效,可用于治疗目昏和胸痛等症状。\n\n2. 川芎:具有活血化瘀、舒筋止痛的功效,可用于治疗目昏和胸痛等症状。\n\n3. 当归:具有活血调经、补血养颜的功效,可用于治疗目昏和胸痛等症状。\n\n4. 甘草:具有补脾益气、调和诸药的功效,可用于治疗目昏和胸痛等症状。\n\n以上中药均可在中药店购买,但建议您在服用前咨询专业中医师的意见,以确定最适合您的剂量和用法。同时,如果您的症状持续或加重,请及时就医。

更多效果展示见文件prediction.json

使用fastllm加速

使用fastllm进行加速,按照官方文档进行安装编译后,运行代码python accelerate_demo.py就可以进行加速。在NVIDIA A30环境下模型加速前后推理速度对比如下表所示:

推理速度(token/s) 占用显存情况(GB)
原始 39.58 13
float16 55.27 12
int8 63.67 7
int4 64.86 4

检索增强生成

根据用户的问题爬取对应的百度知识问答页面,从中提取出前三个答案,然后将其加入prompt中作为相似答案的参考。
运行python rag_demo.py

About

基于ChatGLM3基座模型和LLAMA-Factory框架进行微调的一个中医问答机器人


Languages

Language:Python 96.0%Language:Shell 4.0%