# 医疗思考链问答大模型

## 项目概述

本项目旨在构建一个针对医疗知识的思考链条的问答大模型，基于Qwen3-8B模型作为基座模型[Qwen/Qwen3-8B]，使用LoRA（Low-Rank Adaptation）技术进行微调。模型训练数据涵盖了医疗问诊、咨询等权威医学领域知识信息，并通过问答题目进行微调，以提升模型在医学领域的问答能力。这种数据预处理的策略，充分挖掘了Qwen3模型强大的推理能力，使其能够模拟在医疗场景中，如何发现患者记录描述信息中获取到关联性的过程。

## 模型架构

- **基座模型**:[`Qwen/Qwen3-8B`]<https://modelscope.cn/models/Qwen/Qwen3-8B>
- **微调方法**: LoRA（Low-Rank Adaptation）
- **训练数据**: 问答数据集

## 数据集

### 数据来源

参考链接：<https://huggingface.co/datasets/FreedomIntelligence/medical-o1-reasoning-SFT/tree/main>

### 数据预处理

训练数据格式：

```
 {
    "Question": "女性，34岁，双下肢麻木无力1年半，感觉障碍自下而上发展。体检：右侧胸8以下痛、温觉消失，左侧胸以下痛、温觉减退。右下肢肌力Ⅳ级，左下肢肌力Ⅲ级。左侧巴氏征阳性。病变的定性诊断应首先考虑为\nA. 脊膜瘤\nB. 神经纤维瘤\nC. 脑胶质瘤\nD. 椎管内转移瘤\nE. 脊髓髓内室管膜瘤",
    "output": "<think>患者是一名34岁的女性，哎，她已经忍受了双下肢麻木无力有一年半了。她的症状是从脚下开始向上蔓延的。这听起来像是典型的神经问题，特别是脊髓的事情。\n\n在体检中，发现她的右侧胸8以下痛、温觉已经完全消失，奇怪的是，左侧则只是减退。这些提示我去考虑下，可能是脊髓的问题，尤其是可能在胸8这个区域出毛病了。\n\n她的巴氏征左侧是阳性的，这表明脊髓半侧损害，这就是所谓的Brown-Séquard综合征呀。嗯，右下肢的肌力相较左侧还稍微好一点，但情况都不妙。\n\n想到病变性质，感觉病程发展这么缓慢，说明是一种慢性病。可以是肿瘤，那肿瘤的话，髓内的或髓外的都有可能。这个就看到底是涉及到脊髓内还是外了。\n\n室管膜瘤这种病镇的可能存在脊髓内部，而且病程缓慢符合这类症状的特点。哦，不过要是脊髓外的问题，那脊膜瘤这种可能会导致脊髓半侧损害，这样就很吻合了。\n\n啊，神经纤维瘤有时候也出现类似的症状，不过更常见多发性问题和皮肤上的表现，她没有这些其他症状。这有点排除掉。\n\n脑胶质瘤或者椎管内转移瘤不太可能造成这样的表现，这个在脊髓半侧这样单纯的损害上，不是那么直接。\n\n所以，考虑到这些症状，还有病变的特性，我觉得首先还是脊膜瘤可能性最大，特别是与这种Brown-Séquard综合征这样的一侧症状损害表现最吻合。</think>\n结合患者的症状和体检结果，考虑到病变的性质以及脊髓半侧损害的特点，这些特征非常符合脊膜瘤的表现。因此，病变的定性诊断首先应考虑为脊膜瘤。\n\nA. 脊膜瘤"
}

```

## 模型训练

### 微调方法

使用LoRA技术对`Qwen3`模型进行微调。LoRA通过在预训练模型的权重矩阵中引入低秩矩阵来减少参数量，从而在保持模型性能的同时降低计算成本。

### 训练步骤

1. **加载预训练模型**: 加载`Qwen3`8B模型。
2. **应用LoRA**: 在模型的关键层应用LoRA技术。
3. **训练模型**: 使用准备好的肿瘤知识问答数据集进行微调。
4. **验证与测试**: 在验证集和测试集上评估模型性能，调整超参数以优化结果。

## 模型评估

### 评估指标

- **准确率**: 模型在问答任务中的准确率。
- **召回率**: 模型能够正确回答的问题比例。
- **F1分数**: 准确率和召回率的调和平均数。

### 评估结果

在测试集上的评估结果如下：
待更新

## 使用指南

### 环境配置

1. **Python版本**: 3.10+
2. **依赖库**:
   - `transformers`
   - `torch`

### 模型下载

SDK下载

```bash
#安装ModelScope
pip install modelscope
```

```python
#SDK模型下载
#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('zpeng1989/Medical_Qwen3_8B_Large_Language_Model')
```

Git下载

```
#Git模型下载
git clone https://oauth2:eDTzbKYiKrNCswNiDx1s@www.modelscope.cn/zpeng1989/Medical_Qwen3_8B_Large_Language_Model.git 
```

### 模型推理

```python
from transformers import AutoModelForCausalLM, AutoTokenizer

# 加载微调后的模型
model = AutoModelForCausalLM.from_pretrained("path_to_your_model")
tokenizer = AutoTokenizer.from_pretrained("path_to_your_model")

# 输入问题
question = "请列出所有与葡萄胎相关的症状和体征?"
inputs = tokenizer(question, return_tensors="pt")

# 生成答案
outputs = model.generate(**inputs)
answer = tokenizer.decode(outputs[0], skip_special_tokens=True)

print(answer)
```

### WEB部署

代码参考：

```
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import streamlit as st
import re

# 在侧边栏中创建一个标题和一个链接
with st.sidebar:
    st.markdown("## 7B LLM")
    max_length = st.slider("max_length", 0, 8192, 8192, step=1)
    temperature = st.slider("temperature", 0.0, 1.0, 0.1, step=0.1)

# 创建一个标题和一个副标题
st.title("Model Chatbot")
st.caption("🚀 A streamlit chatbot powered by Self-LLM")

# 定义模型路径
mode_name_or_path = ''

# 文本分割函数
def split_text(text):
    pattern = re.compile(r'<think>(.*?)</think>(.*)', re.DOTALL) # 定义正则表达式模式
    match = pattern.search(text) # 匹配 <think>思考过程</think>回答
  
    if match: # 如果匹配到思考过程
        think_content = match.group(1).strip() # 获取思考过程
        answer_content = match.group(2).strip() # 获取回答
    else:
        think_content = "" # 如果没有匹配到思考过程，则设置为空字符串
        answer_content = text.strip() # 直接返回回答
  
    return think_content, answer_content

# 定义一个函数，用于获取模型和 tokenizer
@st.cache_resource
def get_model():
    # 从预训练的模型中获取 tokenizer
    tokenizer = AutoTokenizer.from_pretrained(mode_name_or_path, trust_remote_code=True)
    tokenizer.pad_token = tokenizer.eos_token
    # 从预训练的模型中获取模型，并设置模型参数
    model = AutoModelForCausalLM.from_pretrained(mode_name_or_path, torch_dtype=torch.bfloat16,  device_map="auto")

    return tokenizer, model

# 加载 model 和 tokenizer
tokenizer, model = get_model()

# 如果 session_state 中没有 "messages"，则创建一个包含默认消息的列表
if "messages" not in st.session_state:
    st.session_state["messages"] = [{"role": "assistant", "content": "有什么可以帮您的？"}]

# 遍历 session_state 中的所有消息，并显示在聊天界面上
for msg in st.session_state.messages:
    st.chat_message(msg["role"]).write(msg["content"])

# 如果用户在聊天输入框中输入了内容，则执行以下操作
if prompt := st.chat_input():

    # 在聊天界面上显示用户的输入
    st.chat_message("user").write(prompt)

    # 将用户输入添加到 session_state 中的 messages 列表中
    st.session_state.messages.append({"role": "user", "content": prompt})

    # 将对话输入模型，获得返回
    input_ids = tokenizer.apply_chat_template(st.session_state.messages,tokenize=False,add_generation_prompt=True)
    model_inputs = tokenizer([input_ids], return_tensors="pt").to('cuda')
    generated_ids = model.generate(model_inputs.input_ids,max_new_tokens=max_length, temperature=temperature)
    generated_ids = [
        output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
    ]
    response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
    print(response)
    think_content, answer_content = split_text(response) # 调用split_text函数，分割思考过程和回答
    # 将模型的输出添加到 session_state 中的 messages 列表中
    st.session_state.messages.append({"role": "assistant", "content": response})
    # 在聊天界面上显示模型的输出
    with st.expander("模型思考过程"):
        st.write(think_content) # 展示模型思考过程
    st.chat_message("assistant").write(answer_content) # 输出模型回答
    # print(st.session_state) # 打印 session_state 调试 


```

运行命令:

```
# nohup streamlit run Run_Test_v1.py --server.address 0.0.0.0 --server.port 6006 &
```

### 生成结果案例

#### Case 01

输入问题:

```
患者信息如下："""现病史
（1）病史摘要
     病人，男，49岁，3小时前解大便后出现右下腹疼痛，右下腹可触及一包块，既往体健。
（2）主诉
     右下腹痛并自扪及包块3小时。

体格检查
体温： T 37.8℃，P 101次／分，呼吸22次/分，BP 100/60mmHg，腹软，未见胃肠型蠕动波，肝脾肋下未及，于右侧腹股沟区可扪及一圆形肿块，约4cm×4cm大小，有压痛、界欠清，且肿块位于腹股沟韧带上内方。

辅助检查
（1）实验室检查
     血常规：WBC 5.0×109／L，N 78％。
     尿常规正常。
（2）多普勒超声检查
     沿腹股沟纵切可见一多层分布的混合回声区，宽窄不等，远端膨大，边界整齐，长约4～5cm。
（3）腹部X线检查
     可见阶梯状液气平。"""具体工作：简述该病人的诊断及诊断依据。
```

模型增加<think>返回结果：

```
<think>这个患者啊，49岁的男性，3小时前开始右下腹疼痛，还摸到一个包块。现在可麻烦了，得仔细看看。
首先，他的体温是37.8℃，有点发烧，虽然不很高，但总觉得不对劲儿。多普勒超声显示在腹股沟有个多层分布的肿块，有压痛，而且边界也不是特别清楚。这个看起来有点像感染，或者是 something 肿胀着。
说到感染，考虑到他是右下腹痛，首先会想到阑尾炎，毕竟这个地方容易出状况。不过，这个包块的位置在腹股沟韧带上方，这又好像更偏向直肠末端或者盆腔的问题了。
接着看看实验室检查，血常规显示白细胞计数是5.0×10^9/L，中性粒细胞占78%。嗯，这个中性粒细胞比例确实偏高，说明可能有细菌参与。不过也奇怪，为什么白细胞不高的？
再说说那些古怪的检查结果。多普勒超声描述的多层混合回声区，还有腹部X线的阶梯状液气平，嗯，这些特征总是导引我们去想绞窄性阑尾炎。绞窄性阑尾因为肿胀和缺血，很容易导致肠道梗阻和坏死，这些描述就越来越符合了。
从新理清一下，右下腹疼痛，腹股沟上方的包块，发热，多普勒超声的特征，再加上中性粒细胞增高，所有这些东西放在一起看，确实更像是绞窄性阑尾炎。
不再怀疑了，综合所有信息，这就是绞窄性阑尾炎，基于那些水乳交融的特征的符合，再加上诊断目的很吻合，应该就是它了。</think>

该病人的诊断为绞窄性阑尾炎。诊断依据包括：
    1. 临床表现：患者为49岁男性，主要症状为右下腹痛3小时，并可触及包块。伴随轻微发热（37.8℃），提示可能存在感染或炎症。
    2. 多普勒超声检查：显示腹股沟区域存在多层分布的混合回声区，边界整齐，长度约为4-5cm，提示可能有肿胀或组织坏死。
    3. 腹部X线检查：出现阶梯状液气平，这一特征通常与肠道梗阻相关，可能进一步支持绞窄性变化的判断。
    4. 实验室检查：血常规显示中性粒细胞比例高达78%，支持细菌感染的诊断，典型与阑尾炎相符。
综合上述信息中的炎症迹象、症状位置、影像学特征以及实验室检验结果，绞窄性阑尾炎是最符合的诊断。考虑到及时治疗的必要性，建议患者尽快进行进一步诊治。
```

模型去除<think>返回结果：
```
根据提供的患者信息，可以做出以下诊断：
诊断：急性腹股沟淋巴结炎，结合少量阶梯状液气平，需高度考虑并发肠梗阻的可能。
诊断依据：
1. **临床表现**：患者，男，49岁，3小时前解大便后出现右下腹疼痛，并自扪及包块。提示急性疼痛过程，且与肠道活动可能存在关联。
2. **体格检查**：体温升高至37.8℃，提示低热，可能存在轻度感染或炎症反应。右侧腹股沟区可扪及圆形肿块，约4cm×4cm大小，有压痛，界欠清，且肿块位于腹股沟韧带上内方。此与腹股沟淋巴结肿大一致，提示淋巴系统炎症。
3. **实验室检查**：血常规显示中性粒细胞比例为78%，提示存在明显炎症反应。结合体温略高，支持急性炎症的诊断。
4. **影像学检查**：
   - 多普勒超声检查显示沿腹股沟纵切可见一多层分布的混合回声区，边界整齐，长约4～5cm。此为典型的淋巴结肿大的超声表现。
   - 腹部X线检查显示阶梯状液气平，可能与肠道梗阻有关，需进一步评估以排除肠穿孔或严重的并发症。
综上，结合临床表现、体格检查及影像学检查结果，诊断为急性腹股沟淋巴结炎，并需警惕并发肠梗阻的可能，建议密切监测病情变化。
```

参考答案

```
诊断：嵌顿性腹股沟斜疝合并肠梗阻。
      诊断依据：
      ①右下腹痛并自扪及包块3小时；
      ②有腹胀、呕吐，类似肠梗阻表现；腹部平片可见阶梯状液平，考虑肠梗阻可能；腹部B超考虑， 
腹部包块内可能为肠管可能；
      ③有轻度毒性反应或是中毒反应，如 T 37.8℃，P 101次／分，白细胞中性分类78％；
      ④腹股沟区包块位于腹股沟韧带上内方。

```

#### Case 02

输入问题

```
患者信息如下："""现病史
（1）病史摘要
    杨XX，女，59岁，30年前无明显诱因开始出现反酸、反食、烧心，胸骨后烧灼感，伴胃胀、嗳气，弯腰后反酸加重，不规律服用“奥美拉唑、吗丁啉、莫沙必利”症状可缓解，停药反复发作。5年前开始出现咳嗽、咳痰，咳嗽严重时伴胸闷、喘息症状，无明显季节性，常于进食后1小时及凌晨发作，止咳平喘效果不佳，生活质量明显下降。2年前外院诊为“反流性食管炎LA-B、食管裂孔疝，睡眠时床头抬高及、服用“耐信 20mg BID”反流症状明显缓解，咳喘症状亦明显缓解。近10个月咳喘症状加重，伴有听力下降，调整耐信 40mg BID，咳喘症状再次改善，但仍时有发作。
（2）主诉
    反酸、烧心30年，咳嗽、咳痰、喘息5年，加重10个月。

体格检查
结果 T36.8℃，P70次/分，R20次/分，Bp136/80mmHg。
    自主体位，神志清楚，全身皮肤及巩膜无黄染，全身浅表淋巴结无肿大。双肺听诊呼吸音粗及散在哮鸣音。心率70次/分，律齐，未闻及病理性杂音，腹部平软，肝脏、脾脏未触及，未触及腹部包块，肠鸣音正常。

辅助检查
（1）实验室检查
    出凝血功能：正常；血生化：正常;血常规：正常。
（2）胃镜
    反流性食管炎：LA-C；食管裂孔疝（混合型）。
（3）上消化道造影
    反流性食管炎；食管裂孔疝。
（4）食管高分辨率测压
    LES压力低于正常，食管体部频繁无效，食管裂孔疝。
（5）食管高分辨率测压
    1.食管pH监测：未达到胃食管病理性酸反流；卧位酸廓清能力下降。
    2.食管阻抗监测：反流总次数正常，以酸反流为主；
    3.症状相关性分析：监测期间咳嗽、喘息症状与弱酸反流相关。

辅助检查
胃镜：
所见：齿状线上移约4cm，可见多条纵行糜烂，底部有融合，齿状线不规整，周围可见充血、水肿、糜烂。 贲门口松弛。反转胃镜可见食管裂孔疝疝囊。
结论：反流性食管炎：LA-C；食管裂孔疝（混合型）。

辅助检查
食管pH-阻抗监测（口服PPI期间）
食管pH监测显示： DeMeester积分为8.0（正常值<14.7）；酸反流时间百分比（AET）为2.1%（正常值<4.2%），卧位酸反流时间所占百分比大于正常。卧位酸清除时间延长。
食管阻抗监测显示：食团反流总时间百分比（BET）为1.2%（正常值<1.4%），立位食团反流时间百分比大于正常；反流总次数为48次（正常值<73次），其中酸反流32次，弱酸反流5次，弱碱反流3次，酸性气体反流2次，弱酸性气体反流4次，弱碱性气体反流2次。立位食团清除时间延长。
症状相关性分析：
    1、患者监测期间共记录咳嗽症状17次，与弱酸反流相关4次，弱酸反流的SI为24%、SAP为99%。
    2、患者监测期间共记录喘息症状5次，与弱酸反流相关2次。弱酸反流的SI为40%，SAP为 96%。
    注：SI为反流/症状指数 ，参考值>50%；SAP：反流/症状相关概率，参考值>95%。

辅助检查
上消化道造影：可见巨大食管裂孔疝，贲门及胃底均疝入胸腔。

辅助检查
食管高分辨率测压：
LES压力低于正常，吞咽时松弛正常。
UES压力低于正常，松弛功能欠佳。
食管体部频繁无效蠕动 (无效吞咽百分比50%) 。
食管裂孔疝。"""具体工作：分析本例病人的病史、体格检查和辅助检查。
```

模型增加<think>返回结果：

```
<think>哦，这位女士的反酸和烧心症状看起来真的很让人头疼啊，从30年前就开始了。说起来，这些症状听起来就像典型的反流性食管炎，还伴有食管裂孔疝，这让情况变得更复杂了。经过几次检查，像胃镜和上消化道造影，结果一致指向了这些结论，看来这些是相当可能的诊断。
而且更有趣的是，她的咳喘症状也很有特点。咳嗽和喘息竟然在她5年开始了，而且常在吃饭后一小时和凌晨的时候发作。这跟胃食管反流的联系真是剪不断理还乱了。万万没想到，她的呼吸问题竟然和反流有着这么明显的关联。
哦，最近的检测确实揭露了不少关键信息——食管pH-阻抗监测在她服用PPI期间显示酸反流的时间还比较长，尤其是晚上，酸清除能力似乎不太好。这解释了她需要调整药物剂量从耐信20mg BID到40mg BID，而这样做对症状又有了一定的改善。
体格检查方面，嗯，看似简单的结果其实也给出了不少提示：体温正常，心跳呼吸都还算平稳。不过，肺部那些散布的哮鸣音还真让人担心。好在腹部检查是平的，没有奇怪的发现，不过这贲门口有些松弛，就足以结合她的食管问题做出诊断了。
通过这些信息综合来看，反流性食管炎和食管裂孔疝的诊断似乎说得通。说到底，她的症状、检查结果以及与反流的联系都指向了这个方向。这一结论看起来是成立的，也不令人意外。</think>

对该病人的病史、体格检查和辅助检查结果进行分析，可以得出以下结论：
1. **疾病摘要**：病人，杨女士，59岁，长期受反酸、烧心、胸骨后烧灼感等典型的反流性食管炎症状困扰。此外，她还经历了咳嗽、咳痰、喘息等与呼吸系统相关的问题，这些症状在进食后及凌晨时分更明显，严重影响其生活质量。
2. **体格检查结果**：生命体征基本正常，但双肺听诊时可发现呼吸音粗，散在的哮鸣音提示存在肺部问题。这与她长期的反流现象可能有一定关联。
3. **辅助检查**：
   - **胃镜检查**显示杨女士患有反流性食管炎LA-C级和食管裂孔疝（混合型）。
   - **食管高分辨率测压**揭示LES（下食管环) 压力不足，食管体部蠕动无力，并证实食管裂孔疝的存在。
   - **食管pH-阻抗监测**（口服PPI期间) 显示卧位时酸反流时间较长，表明尽管药物效果总体尚可，某些时段酸反流仍需关注。
   - **症状相关性分析**指出，她的咳嗽和喘息症状与弱酸反流显著相关。
综合以上信息，杨女士的诊断为反流性食管炎合并食管裂孔疝是相当明确的。她的咳喘症状与胃食管反流密切相关，这在同类患者中也不罕见。体格检查及各项检查结果相互支持，诊断具有说服力。根据现有资料，调整PPI剂量至40mg BID已对她当前的症状提供了较好的控制，但未来仍需监测调整治疗方案，防止其他并发症的进展。
```

模型去除<think>返回结果：

```
根据提供的信息，对该病人的病史、体格检查和辅助检查可以进行如下分析：

1. **病史分析**  
   - 杨女士，59岁，女性，长期（已有30年）遭受胃食管反流的困扰，主要表现为反酸、烧心、胸骨后烧灼感等。这些症状在服用PPI（如耐信）和促胃肠动力药后能够暂时缓解，但停药后又会反复发作。  
   - 此外，她还经历了5年的咳嗽、咳痰和喘息症状，这些呼吸道症状与胃食管反流明显相关。症状常在胸骨后反酸或嗳气时加重，尤其是站立或弯腰时。  
   - 2年前，通过抬高睡眠时的床头和调整用药（使用耐信 20mg BID），反流及相关咳喘症状有所改善。然而，近1年咳喘症状加重，并伴随听力下降。  
   - 调整用药为耐信 40mg BID后，反流和咳喘症状再次改善，但仍未完全控制，时有发作。这表明胃食管反流问题仍然严重，对呼吸道有持续影响。

2. **体格检查结果**  
   - 病人生命体征基本正常，体温 36.8 ℃，心率 70 次/分，呼吸频率 20 次/分，血压 136/80 mmHg。  
   - 双肺听诊时可闻及呼吸音粗糙及散在的哮鸣音，提示存在明显的呼吸道分泌增加或支气管痉挛。  
   - 腹部检查显示平坦柔软，未触及异常。

3. **辅助检查结果**  
   - **胃镜检查**显示：反流性食管炎 LA-C 级和食管裂孔疝（混合型）。这解释了她长期的胃食管反流症状，同时也为呼吸道症状提供了一个可能的机制，即反流物质上移刺激迷走神经所致。  
   - **上消化道造影**结果与胃镜一致，进一步确诊了食管裂孔疝和反流性食管炎。  
   - **食管高分辨率测压**指出 LES（食管下括约肌）和 UES（上食管括约肌）压力均低于正常，且食管体部存在无效蠕动频率增加，这为胃食管反流提供了解剖学基础。  
   - **食管 pH-阻抗监测**（口服 PPI 期间）结果显示酸反流时间百分比略低于正常，但卧位酸反流时间增加，酸清除时间延长，提示夜间反流严重。  
   - 阻抗监测进一步显示立位食团反流时间增加，证实食物团块的反流也是重要因素。  
   - **症状相关性分析**表明，患者的咳嗽和喘息症状主要与弱酸反流相关。根据标准，反流/症状指数（SI）大于 50% 和症状/反流相关概率（SAP）大于 95% 即表明症状与反流具有统计学显著的相关性。

综合以上分析，杨女士的主要问题为严重的胃食管反流合并食管裂孔疝，且已对呼吸道造成显著影响。改善反流控制，可能对呼吸道症状产生积极效果。同时，还需考虑多学科治疗方案，结合消化系统和呼吸系统的问题进行综合管理。
```


参考结果

```
（1）病史分析：该病例的早期症状为反酸、反食、烧心，胸骨后烧灼感、嗳气等典型胃食管反流症状为主，抗反流用药治疗可缓解症状，即可诊断为胃食管反流病。之后患者逐渐出现咳嗽、咳痰和喘息等哮喘样症状，该症状呼吸内科治疗效果不佳，再进行抗反流治疗后不但反酸、烧心得到明显缓解，而且哮喘样症状也得到明显缓解。
    本病例特点为：①先出现典型胃食管反流病症状，后出现咳嗽、喘息等食管外症状；②抗反流药物治疗可同时缓解反酸、烧心以及咳喘症状。
   （2）体格检查分析：体格检查方面此病例在咳喘发作间期无过多的阳性体征，肺部听诊可闻及哮鸣音。
   （3）辅助检查分析：本例病人实验室检查无明显异常。通过胃镜、上消化道造影、食管高分辨率测压检查明确患者存在食管裂孔疝和反流性食管炎，食管pH-阻抗检查（口服PPI期间）进一步证实患者的咳嗽和喘息症状均与反流有显著相关性。上述客观检查确诊患者为胃食管反流病，反流性哮喘可能性大。
```



## 许可证

本项目采用 [MIT 许可证](LICENSE)。

## 致谢

- 感谢 `Qwen` 模型的开发者。
- 感谢所有为医疗知识问答数据集做出贡献的研究人员。

## 联系方式

如有任何问题，请联系 [592392714@qq.com]。

---

**注意**: 本项目仅供学术研究使用，不构成医疗建议。
