Downloads · 30 days
7
29% of all-time downloads
meomeo163/medical_chatbot
medical_chatbot is a text generation model from meomeo163. Use it when you need the model to write or continue text. It is set up for peft.
- Model type: Text generation - Language(s) (NLP): Vietnamese - Finetuned from model: arcee-ai/Arcee-VyLinh
Downloads · 30 days
7
29% of all-time downloads
All-time downloads
24
Public
Repo size
143 MB
Likes
0
Public
Click a slice to open those files.
.safetensors120 MB · 88%
From the Hugging Face model README
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers import TextStreamer
from peft import PeftModel
import torch
# Load the model and tokenizer
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
base_model = AutoModelForCausalLM.from_pretrained("arcee-ai/Arcee-VyLinh")
tokenizer = AutoTokenizer.from_pretrained("arcee-ai/Arcee-VyLinh")
adapter_model = PeftModel.from_pretrained(base_model, "meomeo163/medical_chatbot").to(device)
prompt = "mình đang có hiện tượng bị đau bụng dưới, thì thoảng thấy buồn nôn, các chứng bệnh mình có thể gặp phải là gì"
messages = [
{"role": "system", "content": "Bạn là trợ lý y tế chuyên nghiệp"},
{"role_type": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)
streamer = TextStreamer(
tokenizer,
skip_prompt=True,
skip_special_tokens=True
)
generated_ids = adapter_model.generate(
model_inputs.input_ids,
attention_mask=model_inputs.attention_mask, # Add attention mask
pad_token_id=tokenizer.eos_token_id, # Set pad token id
max_new_tokens=512,
eos_token_id=tokenizer.eos_token_id,
temperature=0.25,
streamer=streamer,
no_repeat_ngram_size=3 # Add or increase no_repeat_ngram_size
)
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)[0]
print(response)
A question-asnwer data about medical [hungnm/vietnamese-medical-qa]
Training regime:
training_args = TrainingArguments(
per_device_train_batch_size = 4,
gradient_accumulation_steps = 4,
warmup_steps = 100,
num_train_epochs = 3,
learning_rate = 2e-4,
bf16 = True,
logging_steps = 25,
output_dir = "finetuned_medical_qa_full",
optim = "adamw_8bit",
eval_strategy = "steps",
eval_steps = 100,
save_strategy = "steps",
save_steps = 100,
load_best_model_at_end = True,
metric_for_best_model = "eval_loss",
greater_is_better = False,
save_total_limit = 2,
)