DISC-MedLLM 使用教程
1. 项目介绍
DISC-MedLLM 是一个由复旦大学数据智能与社会计算实验室(Fudan-DISC)开发的开源项目,旨在利用大型语言模型(LLMs)为端到端的医疗健康对话提供准确和真实的医疗响应。该模型通过整合医学知识图谱和真实医患对话数据,具备丰富的专业知识、多轮对话的问询能力以及对齐人类偏好的回复等特点,能够满足用户在疾病问诊和治疗方案咨询等方面的需求。
2. 项目快速启动
环境准备
首先,确保您的环境中已经安装了 Python。然后,通过以下命令安装项目所需的依赖:
pip install -r requirements.txt
模型加载与推理
使用 Hugging Face 的 transformers 模块加载 DISC-MedLLM 模型并进行推理:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation.utils import GenerationConfig
# 加载 tokenizer
tokenizer = AutoTokenizer.from_pretrained("Flmc/DISC-MedLLM", use_fast=False, trust_remote_code=True)
# 加载模型
model = AutoModelForCausalLM.from_pretrained(
"Flmc/DISC-MedLLM",
device_map="auto",
torch_dtype=torch.float16,
trust_remote_code=True
)
# 设置生成配置
model.generation_config = GenerationConfig.from_pretrained("Flmc/DISC-MedLLM")
# 创建对话
messages = [{"role": "user", "content": "我感觉自己颈椎非常不舒服,每天睡醒都会头痛"}]
# 获取模型回复
response = model.chat(tokenizer, messages)
# 打印回复
print(response)
运行命令行 Demo
运行以下命令启动命令行 Demo:
python cli_demo.py
运行网页版 Demo
运行以下命令启动网页版 Demo:
streamlit run web_demo.py --server.port 8888
3. 应用案例和最佳实践
- 疾病问诊:DISC-MedLLM 可以根据用户的症状描述,提供相应的疾病诊断建议。
- 治疗方案咨询:用户可以咨询 DISC-MedLLM 有关疾病的治疗方案,模型会提供基于医学知识的建议。
4. 典型生态项目
目前,DISC-MedLLM 的生态系统尚未广泛发展,但以下是一些可能的典型生态项目:
- 医疗聊天机器人:集成 DISC-MedLLM 模型的聊天机器人,为患者提供24/7的医疗咨询服务。
- 电子病历系统:将 DISC-MedLLM 模型应用于电子病历系统,辅助医生进行诊断和治疗决策。