前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SuWen -素问 基于LLM的中医药 AI search engine

SuWen -素问 基于LLM的中医药 AI search engine

原创
作者头像
用户10497140
发布2024-10-16 16:15:48
500
发布2024-10-16 16:15:48

在前面章节,我们实现了基于internlm2_5-7b模型基座,使用XTuner 进行微调,模型合并,— — merged01

问题准备

代码语言:txt
复制
下面选项题有且仅有一个正确答案,输出正确选项,并给出依据
1.庄国康在治疗黑变病时,以下哪种药物组合不在其药用范围内?A.吴茱萸、续断;B.陈皮、补骨脂;C.茯苓、泽泻;D.麻黄、荆芥。
2.根据朱仁康的临证经验,以下哪种药物不是用于治疗风热久羁型荨麻疹的?A. 乌蛇;B. 黄连;C. 当归;D. 银花
3.邹铭西在治疗湿疹时,以下哪种外用药物使用原则是错误的?A用药薄而均匀;B每日1~2次;C选择几种制剂交替使用;D必须使用有刺激性的药物
4.王文春主任医师在治疗多形性红斑时,针对风寒湿型的治疗原则是?A.温经通络,祛寒化湿;B.清热利湿,凉血解毒;C.滋阴降火,清热解毒;D.疏风清热,宣肺散寒;
5.赵炳南在治疗脚湿气时,主要将癣菌疹归属于哪个范畴?A湿毒疡;B风湿疡;C都是;D都不是
代码语言:txt
复制

269	问答	在庄国康擅长的疾病中,哪些疾病可以通过重镇活血汤的治疗原理来缓解其心肝失调的证候?												
270	问答	凉血五根汤在治疗血热发斑和热毒阻络证候时,哪些药材起到了凉血活血的作用,并简述其方解?												
271	问答	在治疗面部痤疮时,邬成霖名医针对地塞米松或强的松的具体用法用量及其背后的考虑是什么?												
272	问答	朱仁康名医在治疗汗管角化时,所使用的经验方苍术膏的具体组成成分有哪些,这些成分是如何协同作用以针对汗管角化的症状发挥疗效的?												
273	问答	在治疗系统性红斑狼疮时,张志礼是如何通过特色用药体现其健脾益肾、活血通络的治疗原则的?												
274	问答	赵炳南名医在治疗掌拓脓疱病时,基于其对方剂的应用经验和掌拓脓疱病的症状特点,常采用哪种方剂及其主治功效是什么?												
275	问答	赵炳南在治疗限局性硬皮病时,结合其经验方阳和丸的组成和主治,具体采用了哪些治法,并分析这些治法如何针对该病的证候和临床表现?												
276	问答	在中医治疗中,针对血虚身痛症状,哪位名医的特色用药能够有效缓解该症状,并说明其药效机制?												
277	问答	赵炳南名医在治疗疱疹样皮炎时,常使用哪一经验方?请详细说明该方剂的组成成分、主治疾病及其治法原理。												
278	问答	回阳熏药在中医皮肤科中主要用于治疗哪些复杂难愈的疾病,并简述其治疗机制?												
279	问答	赵炳南名医在治疗毛囊炎初起时,除了使用黑布药膏外,还考虑了哪些疾病的相似治疗方法和药膏的组成及用法?												
280	问答	赵炳南针对皮肤淀粉样变提出的综合治法及其理论基础是什么?												

在选择题和问答题中使⽤的Prompt如下,供参考:

代码语言:txt
复制
"""
 要求最后给出的答案:
 1、直接输出答案,如:A或B或C或D,不需要给出其他任何解释、不需要选项后⾯的中⽂。
 2、根据经验进⾏作答,选择最确定的答案;
 3、直接输出选项的字⺟,不要有任何多余输出。
"""
代码语言:txt
复制
"""
 你是中医赵炳南流派⽪肤科的专家,以下是⼀道中医⽪肤科的问答题。请根据题⾯,给出答案与
分析。
 要求最后给出的答案:
 1、能够逐步推理、必要时可分点论述,以更全⾯展现中医诊疗知识的推理过程;
 2、结合中医专业知识,根据经验进⾏作答;
 3、直接输出答案,不需要输出任何系统级的提示语,如:根据xxx⽣成答案、综合xxx答案
等表述。
"""

选择题

起初

代码语言:txt
复制
下面选项题有且仅有一个正确答案,输出正确选项,并给出依据
1.庄国康在治疗黑变病时,以下哪种药物组合不在其药用范围内?A.吴茱萸、续断;B.陈皮、补骨脂;C.茯苓、泽泻;D.麻黄、荆芥。
2.根据朱仁康的临证经验,以下哪种药物不是用于治疗风热久羁型荨麻疹的?A. 乌蛇;B. 黄连;C. 当归;D. 银花
3.邹铭西在治疗湿疹时,以下哪种外用药物使用原则是错误的?A用药薄而均匀;B每日1~2次;C选择几种制剂交替使用;D必须使用有刺激性的药物
4.王文春主任医师在治疗多形性红斑时,针对风寒湿型的治疗原则是?A.温经通络,祛寒化湿;B.清热利湿,凉血解毒;C.滋阴降火,清热解毒;D.疏风清热,宣肺散寒;
5.赵炳南在治疗脚湿气时,主要将癣菌疹归属于哪个范畴?A湿毒疡;B风湿疡;C都是;D都不是

效果逐渐在变好,当温度设为0.22 效果表现好

代码语言:txt
复制
python -m mindsearch.app --lang cn --model_format internlm_server --search_engine DuckDuckGoSearch
代码语言:txt
复制
streamlit run frontend/suwen_streamlit.py

生成函数

代码语言:txt
复制
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

def answer_questionnaire(question, question_type):
    # Load the XTuner/merged01 model and tokenizer
    model_name = "XTuner/merged01"
    model_path = "/root/InternLM/XTuner/merged01"
    tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
    model = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True).half().cuda()
   
    # Prepare the prompt based on the question type
    if question_type == "multiple_choice":
        prompt = f"""
要求最后给出的答案:
1、直接输出答案,如:A或B等,不需要给出其他任何解释、不需要选项后面的中文。
2、根据经验进行作答,选择最确定的答案;
3、直接输出选项的字母,不要有任何多余输出。

问题:{question}
"""
    elif question_type == "open_ended":
        prompt = f"""
你是中医赵炳南流派皮肤科的专家,以下是一道中医皮肤科的问答题。请根据题面,给出答案与分析。
要求最后给出的答案:
1、能够逐步推理、必要时可分点论述,以更全面展现中医诊疗知识的推理过程;
2、结合中医专业知识,根据经验进行作答;
3、直接输出答案,不需要输出任何系统级的提示语,如:根据xxx生成答案、综合xxx答案等表述

问题:{question}
"""
    else:
        raise ValueError("Invalid question type. Must be 'multiple_choice' or 'open_ended'.")

    # Generate the answer
    inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
    with torch.no_grad():
        outputs = model.generate(**inputs, max_new_tokens=2048)
    answer = tokenizer.decode(outputs[0], skip_special_tokens=True)

    # For multiple-choice questions, extract only the letter answer
    if question_type == "multiple_choice":
        answer = answer.strip()[-1]  # Assuming the last character is the answer

    return answer

# Example usage
multiple_choice_question = "赵炳南名医擅长的方剂是哪种?A清营汤;B增液汤合益胃汤;C皮炎汤;D以上均不是"
open_ended_question = "赵炳南针对皮肤淀粉样变提出的综合治法及其理论基础是什么?"
# 
print(answer_questionnaire(multiple_choice_question, "multiple_choice"))
print(answer_questionnaire(open_ended_question, "open_ended"))


安装插件

直接拖拽文件

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档