Views
No views yet
1from transformers import AutoTokenizer, AutoModelForCausalLM
2from peft import PeftModel
3import torch
4
5# 加载基础模型和tokenizer
6base_model = "Qwen/Qwen1.5-0.5B-Chat"
7tokenizer = AutoTokenizer.from_pretrained(base_model, trust_remote_code=True)
8model = AutoModelForCausalLM.from_pretrained(
9 base_model,
10 torch_dtype=torch.float16,
11 device_map="auto",
12 trust_remote_code=True
13)
14
15# 加载LoRA适配器
16model = PeftModel.from_pretrained(model, "TingWang/SpecTutor-0.5B")
17model.eval()
18
19# 构造输入
20messages = [
21 {"role": "system", "content": "你是一个特殊教育老师。"},
22 {"role": "user", "content": "我和别人不一样吗?"}
23]
24input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
25
26# 生成回复
27with torch.no_grad():
28 output = model.generate(
29 input_ids=input_ids,
30 max_new_tokens=256,
31 do_sample=True,
32 top_p=0.95,
33 temperature=0.8
34 )
35
36response = tokenizer.decode(output[0][input_ids.shape[-1]:], skip_special_tokens=True)
37print("模型回答:", response)# Qwen1.5-0.5B Special Education Distill Model
38
39
40