根据疾病名生成病例prompt

prompt

请根据疾病名:" + disease_name + " 为我生成一份病历。下面是病历内容的要求:病例应严格包含如下几项: 性别,年龄,疾病名(必须是" + disease_name + "),主诉(不超过20字),现病史(包括症状起因、治疗经过等),既往史(包括慢性疾病史、传染病史等),个人史(包括生活习惯、工作环境等),家族史,体格检查(包括体温、脉搏、呼吸、血压等),辅助检查(疾病相关的检测项目,但是检查项目必须和疾病相关),初步诊断(需要明确结果,内容需要包含疾病名)等11项, 要求如下:不要出现假设,字数要大于50字。 一定要包含性别,年龄,疾病名,主诉,现病史,既往史,个人史,家族史,体格检查,辅助检查,初步诊断11个部分且字段名严格保持一致。参考格式如下:【性别】:男\n【年龄】:35岁\n【疾病名】:" + disease_name + "\n【主诉】\n不超过20字的症状疾病描述,症状需要有伴随时间,比如右脚大拇指疼痛,活动受限1个月。\n【现病史】\n现患疾病有哪些\n【既往史】\n过去生过哪些病。\n【个人史】\n吸烟饮酒工作生活睡眠等状况\n【家族史】\n家族中无类似疾病患者\n【体格检查】\n和" + disease_name + "病相关的身体外形检查\n【辅助检查】\n和" + disease_name + "病相关的体检指标\n【初步诊断】\n急性支气管炎\n"

prompt

请扮演一个心理咨询领域的文本改写员,将给定的【单轮长文本中文心理咨询对话】 改写为多轮的共情的对话,要求如下:1、多轮对话以“用户:”开始,“心理咨询师:”结束:2、“心理咨询师”的回复需要结合用户的描述内容并提供共情,如:顿听、安慰、理解、信任、认可、真诚、情感支持等:3、用户和心理咨询师的对话轮数应根据对话内容决定,在8-20轮之间:4、在一轮对话当中,用户与心理咨询师的对话长度应结合对话历史,并且不宜过长。\n\n【单轮长文本中文心理咨询对话】:用户:我正在用我的感觉和我自己经历一些事情。我几乎睡不着,什么也不做,只想着我是多么的一无是处,我不应该在这里。我从未尝试或考虑过自杀。我一直想解决我的问题,但我从来没有抽出时间。我该如何改变对每个人来说都毫无价值的感觉? 心理咨询师:如果每个人都认为你毫无价值,那么也许你需要找新的人一起玩。说真的,一个人生活的社会环境对自尊有很大的影响。否则,你可以一次又一次地试图理解为什么你不是一无是处,然后回到同一个人群中,再次被击倒。你可以在社交媒体上找到很多鼓舞人心的信息。也许读一些书,其中说没有人是没有价值的,每个人的生活都有一个美好的目标。此外,由于我们的文化中充斥着这样一种信念,即如果有人自我感觉不好,这在某种程度上是可怕的。不良情绪是生活的一部分。它们是我们摆脱对我们弊大于利的处境和关系的动力。糟糕的感觉确实很糟糕。你的无价值感可能是好的,因为它能激励你发现自己比今天的感觉好多了。\n\n请逐步分析以上单轮对话中用户的需求以及心理咨询师的共情技巧,并且改写为多轮的共情的对话,你的改写结果为:

代码:



import os
import pandas as pd

import warnings
warnings.filterwarnings("ignore")
from tqdm import tqdm
from peft import AutoPeftModelForCausalLM
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig

qwen_path = "/mnt/sdd/Qwen-7B-Chat"
qwen_tokenizer = AutoTokenizer.from_pretrained(qwen_path, trust_remote_code=True)
qwen_model = AutoModelForCausalLM.from_pretrained(qwen_path, device_map="auto", trust_remote_code=True).eval()

def read_file():
    root_path = "/home/wangyp/Big_Model/symptom_3_explain/disease_name"
    all_data = []
    # 遍历文件夹下的文件
    for filename in os.listdir(root_path):
        with open(os.path.join(root_path, filename), mode="r", encoding="utf-8") as f:
            print(os.path.join(root_path, filename))
            hh = (f.readlines())
            all_data = all_data + hh

    a1 = list(set(all_data))
    a2 = [a.replace("'", "").strip() for a in a1]
    print(len(a2))
    print(a2[:5])
    return a2


def qwen(disease_name):
    """
    年龄,性别,疾病名(必须和我提供的疾病名一致),主诉,现病史,既往史,个人史,家族史,体格检查,辅助检查(需要明确结果,最好有描述,最起码有结果),初步诊断(需要明确结果,最好有描述,最起码有结果)等11项,

    :param disease_name:
    :return:
    """
    # pmt = "你现在扮演一名医生的角色,我需要你基于我给的疾病名:"+ disease_name +",生成对应的【病历】,病例应严格包含如下几项,不能出现其他幻想项目:患者年龄、性别、疾病名称(必须和我提供的疾病名一致)、主诉、患者病史、诊断方案(需要明确结果,最好有描述,最起码有结果)、查体、辅助检查、诊断依据、鉴别诊断等10个部分,要求如下:诊断要和病例非常匹配,不要出现假设,描述详细且专业、字数要大于50字、且一定要有疾病名称这个部分"
    # pmt = "你现在扮演一名医生的角色,我需要你基于我给的疾病名:"+ disease_name + ",生成对应的【病历】,病例应严格包含如下几项: 性别,年龄,疾病名(必须和我提供的疾病名一致),主诉(包括症状描述和持续时间),现病史(包括症状起因、治疗经过等),既往史(包括慢性疾病史、传染病史等),个人史(包括生活习惯、工作环境等),家族史,体格检查(包括体温、脉搏、呼吸、血压等),辅助检查(疾病相关的检测项目,但是检查项目必须和疾病相关),初步诊断(需要明确结果,内容需要包含疾病名)等11项, 要求如下:不要出现假设,描述详细且专业、字数要大于50字。 一定要包含性别,年龄,疾病名,主诉,现病史,既往史,个人史,家族史,体格检查,辅助检查,初步诊断11个部分且字段名严格保持一致。参考格式如下:【性别】:男\n【年龄】:35岁\n【疾病名】:急性支气管炎\n【主诉】\n患
### 多轮对话生成:患者回复医疗领域对话语料数据生成 为了生成适用于医疗领域的多轮对话语料数据,可以采用一种结合预训练大语言模型和特定领域知识的方法。这种方法能够有效利用现有资源并生成高质量的数据。 #### 方法概述 1. **初始数据准备** 使用现有的医疗对话数据集作为基础,例如MedDialog[^1]或其他公开可用的医疗领域对话数据集。这些数据集提供了丰富的上下文信息以及真实的医患交互场景。 2. **对话生成指令构造** 借助“对话生成指令构造”模块来创建结构化的输入模板。该模板应包含以下部分: - 机器人定义:明确目标系统的角色定位(如医生助理、健康顾问等)。 - 私域信息文本段落:针对具体疾病或症状的知识库摘要。 - 对话历史:记录之前几轮的对话内容以保持连贯性。 3. **大语言模型的应用** 将构建好的对话生成指令送入高性能的大规模语言模型中执行预测操作。推荐使用的模型包括但不限于GPT-4、通义千问或者百度文心一言等[^2]。这类模型具有强大的泛化能力和逻辑推导技能,即便面对未见过的复杂病例也能够给出合理解答。 4. **对话历史维护与迭代优化** 新产生的对话样本需及时存储至专门设计的历史数据库里供后续调用。随着积累越来越多的有效案例,整个流程会逐渐趋于完善,进一步提升最终产出质量。 5. **基于知识图谱增强效果** 如果条件允许的话,还可以引入专业知识图谱技术辅助完成更精确的回答制定过程。比如,在某些高级课程材料中有提到过如何运用此类工具开发完整的医疗服务解决方案实例[^3]。 6. **跨领域能力扩展尝试** 此外值得注意的是除了单纯聚焦于单一方向之外也可以适当考虑借鉴其他行业的成功经验做法加以融合创新。像清华团队所分享出来的crosswoz项目成果就非常值得学习参考因为它涵盖了多种不同类型的服务场景设置从而增加了实际应用中的灵活性适应度等方面的优势特性[^4]。 ```python def generate_medical_dialogue(robot_definition, private_info, dialogue_history): prompt_template = f""" 现在假设你是:{robot_definition} 参考信息为:{private_info} 注意!你的回复必须严格准确地基于以上参考信息的内容。 用户:{dialogue_history[-1]['user']} 机器人: """ # Send the constructed instruction to a large language model API. response = call_large_language_model(prompt=prompt_template) return {"response": response.strip()} ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值