Views
No views yet
1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM
3from peft import PeftModel
4
5# Load tokenizer
6tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-mini-4k-instruct", trust_remote_code=True)
7
8# Load base model
9base_model = AutoModelForCausalLM.from_pretrained(
10 "microsoft/Phi-3-mini-4k-instruct",
11 torch_dtype=torch.bfloat16,
12 device_map="auto",
13 trust_remote_code=True
14)
15
16# Load LoRA adapters
17model = PeftModel.from_pretrained(base_model, "johnlam90/phi3-mini-4k-instruct-alpaca-lora")
18model.eval()
19
20# Format prompt
21prompt = "Give three tips for staying healthy."
22formatted_prompt = f'''### Instruction:
23{prompt}
24
25### Response:
26'''
27
28# Generate
29inputs = tokenizer(formatted_prompt, return_tensors="pt")
30with torch.no_grad():
31 outputs = model.generate(
32 **inputs,
33 max_new_tokens=200,
34 do_sample=False,
35 eos_token_id=tokenizer.eos_token_id,
36 pad_token_id=tokenizer.eos_token_id
37 )
38
39response = tokenizer.decode(outputs[0], skip_special_tokens=True)
40print(response.split("### Response:")[1].strip())