Views
No views yet
1import os
2from huggingface_hub import login
3
4# Set the Hugging Face API token
5os.environ["HUGGINGFACEHUB_API_TOKEN"] = "<your_huggingface_token>"
6
7# # Initialize API
8login(os.environ.get("HUGGINGFACEHUB_API_TOKEN"))1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftModel
4
5device = "cuda" if torch.cuda.is_available() else "cpu"
6
7# Define model and LoRA adapter paths
8base_model_name = "unsloth/Llama-3.2-3B-Instruct"
9lora_adapter_name = "danhtran2mind/Llama-3.2-3B-Reasoning-Vi-Medical-LoRA"
10
11# Load tokenizer
12tokenizer = AutoTokenizer.from_pretrained(base_model_name)
13
14# Load base model with optimized settings
15model = AutoModelForCausalLM.from_pretrained(
16 base_model_name,
17 torch_dtype=torch.float16, # Use FP16 for efficiency
18 device_map=device,
19 trust_remote_code=True
20)
21
22# Apply LoRA adapter
23model = PeftModel.from_pretrained(model, lora_adapter_name)
24
25# Set model to evaluation mode
26model.eval()
27
28inference_prompt_style = """Bên dưới là một hướng dẫn mô tả một tác vụ, đi kèm với một thông tin đầu vào để cung cấp thêm ngữ cảnh.
29Hãy viết một phản hồi để hoàn thành yêu cầu một cách phù hợp.
30Trước khi trả lời, hãy suy nghĩ cẩn thận về câu hỏi và tạo một chuỗi suy nghĩ từng bước để đảm bảo phản hồi logic và chính xác.
31
32### Instruction:
33Bạn là một chuyên gia y tế có kiến thức chuyên sâu về lập luận lâm sàng, chẩn đoán và lập kế hoạch điều trị.
34Vui lòng trả lời câu hỏi y tế sau đây.
35
36### Question:
37{}
38
39### Response:
40<think>
41"""
42
43# Define the question
44question = ("Khi nghi ngờ bị loét dạ dày tá tràng nên đến khoa nào "
45 "tại bệnh viện để thăm khám?")
46
47seed = 42
48torch.manual_seed(seed)
49if torch.cuda.is_available():
50 torch.cuda.manual_seed(seed)
51 torch.cuda.manual_seed_all(seed)
52
53inputs = tokenizer(
54 [inference_prompt_style.format(question) + tokenizer.eos_token],
55 return_tensors="pt"
56).to(device)
57
58outputs = model.generate(
59 **inputs,
60 max_new_tokens=2048,
61 temperature=0.7,
62 top_p=0.95,
63 top_k=64,
64)
65
66response = tokenizer.batch_decode(outputs, skip_special_tokens=True)
67print(response[0].split("### Response:")[1])1<think>
2 Trên thực tế, điều đầu tiên cần làm khi phát hiện bản thân hoặc con trẻ có những dấu hiệu mất nước nhẹ là cần chuyển bệnh nhân sang nằm. Sau đó, bạn cần khẩn trương gọi cơn khẩn cấp hoặc đến ngay bệnh viện hoặc cơ sở y tế gần nhất. Nếu đang ở nhà hay ở nơi làm việc, hãy gọi 114 hoặc cấp cứu ngay. Hãy nói rõ là người bệnh nghi ngờ bị loét dạ dày tá tràng. Điều này sẽ giúp có những nhân viên y tế có thể đến khám ngay. Khi nhận được gọi, các nhân viên y tế sẽ nhanh chóng cung cấp cho bạn liệu pháp bổ sung nước, điện giải. Đồng thờiDiễn tiến hành thăm khám và lấy mẫu mẫu dịch trong loét, nếu cần, có thể sẽ chỉ định bạn phẫu thuật. Nhìn chung, loét dạ dày tá tràng là một bệnh lý khá nguy hiểm nếu không được điều trị đúng cách. Vì vậy, hãy xây dựng cho mình một chế độ ăn uống lành mạnh và đi khám ngay khi bạn có những triệu chứng. Đừng quá phớt lờ những cơn buồn nôn, khó tiêu, đau bụng. Hãy đến ngay cơ sở y tế gần nhất, gọi 1155 hoặc 114 nếu đang ở trong Zones 1, 2.
3</think>
4Cần chuyển bệnh nhân sang nằm và khẩn trương gọi cơn cấp cứu hoặc đến bệnh viện hoặc cơ sở y tế gần nhất.1@misc{vonwerra2022trl,
2 title = {{TRL: Transformer Reinforcement Learning}},
3 author = {Leandro von Werra and Younes Belkada and Lewis Tunstall and Edward Beeching and Tristan Thrush and Nathan Lambert and Shengyi Huang and Kashif Rasul and Quentin Gallou{\'e}dec},
4 year = 2020,
5 journal = {GitHub repository},
6 publisher = {GitHub},
7 howpublished = {\url{https://github.com/huggingface/trl}}
8}