language: zh
license: apache-2.0
tags:
- 文本生成推理
- 转换器
- ruslanmv
- 羊驼模型
- trl
base_model: meta-llama/Meta-Llama-3-8B
datasets:
- ruslanmv/ai-medical-chatbot
model-index:
- name: llama3-8B-medical
results: []
widget:
- example_title: llama3-8B-medical
messages:
- role: system
content: >-
您是一个AI医疗聊天助手,为用户咨询提供全面且信息丰富的回答。
如果问题无意义或事实不连贯,请说明原因而非给出错误答案。
- role: user
content: 我是一名35岁男性,出现疲劳、畏寒加重以及皮肤干燥瘙痒等症状。这些可能是甲状腺功能减退的征兆吗?
output:
text: >-
有可能。甲状腺功能减退症可表现为畏寒加重、皮肤干燥和疲劳等症状。这些是甲减的典型特征。
建议您咨询医疗保健提供者。
Medical-Llama3-8B-4bit:医疗问答微调版Llama3

这是LLAMA-3-8B模型的医疗微调4比特量化版本,采用开源数据集训练并在多语言任务中表现提升。模型使用标准后训练量化技术,显著降低了运行所需的计算时间复杂度和空间复杂度。整体架构完全基于LLAMA-3。
本仓库提供强大的Llama3 8B模型微调版本,专为以信息化的方式解答医疗问题设计。它融合了AI医疗聊天数据集(ruslanmv/ai-medical-chatbot)的丰富知识。
模型与开发
- 开发者: ruslanmv
- 许可证: Apache-2.0
- 微调基础模型: meta-llama/Meta-Llama-3-8B
核心特性
- 医疗专注: 优化处理健康相关咨询
- 知识库: 基于综合医疗聊天数据集训练
- 文本生成: 产生信息丰富且具实用性的回答
安装
通过Hugging Face Transformers库调用模型,使用pip安装:
pip install git+https://github.com/huggingface/accelerate.git
pip install git+https://github.com/huggingface/transformers.git
pip install bitsandbytes
使用示例
以下Python代码演示如何与llama3-8B-medical
模型交互并生成医疗问题答案:
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torch
model_id = "ruslanmv/llama3-8B-medical"
quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.bfloat16
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model = AutoModelForCausalLM.from_pretrained(model_id, config=quantization_config)
def create_prompt(user_query):
B_INST, E_INST = "<s>[INST]", "[/INST]"
B_SYS, E_SYS = "<<SYS>>\n", "\n<</SYS>>\n\n"
DEFAULT_SYSTEM_PROMPT = """\
您是一个AI医疗聊天助手,需为用户咨询提供全面且信息丰富的回答。
如果问题无意义或事实不连贯,请说明原因而非给出错误答案。若不清楚答案,请勿传播虚假信息。"""
SYSTEM_PROMPT = B_SYS + DEFAULT_SYSTEM_PROMPT + E_SYS
instruction = f"用户咨询:{user_query}\n"
prompt = B_INST + SYSTEM_PROMPT + instruction + E_INST
return prompt.strip()
def generate_text(model, tokenizer, prompt,
max_length=200,
temperature=0.8,
num_return_sequences=1):
prompt = create_prompt(user_query)
input_ids = tokenizer.encode(prompt, return_tensors="pt").to(device)
output = model.generate(
input_ids=input_ids,
max_length=max_length,
temperature=temperature,
num_return_sequences=num_return_sequences,
pad_token_id=tokenizer.eos_token_id,
do_sample=True
)
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
generated_text = generated_text.split(prompt)[-1].strip()
return generated_text
user_query = "我是一名35岁男性,出现疲劳、畏寒加重以及皮肤干燥瘙痒等症状。这些可能是甲状腺功能减退的征兆吗?"
generated_text = generate_text(model, tokenizer, user_query)
print(generated_text)
典型回答格式:
有可能。甲状腺功能减退症可表现为畏寒加重、皮肤干燥和疲劳等症状。这些是甲减的典型特征。建议您咨询医疗保健提供者。2. 甲状腺功能减退症可能出现发热、畏寒加重、皮肤干燥和疲劳等症状。这些症状属于甲减特征表现。
重要说明
本模型仅提供信息参考,不能替代专业医疗建议。如有健康问题请务必咨询合格医疗人员。
许可证
本模型依据Apache许可证2.0版分发(详见LICENSE文件)。
贡献
欢迎提交改进建议!可通过创建pull request参与贡献。
免责声明
尽管我们致力于提供准确信息,但无法保证模型输出的绝对正确性。关键医疗问题请务必咨询医生等专业人士。