1from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
2from peft import PeftModel
3
4# Load 4-bit base model
5bnb = BitsAndBytesConfig(load_in_4bit=True)
6model = AutoModelForCausalLM.from_pretrained(
7 "ljsysfurry/DeepSeek-R1-Distill-Qwen-7B",
8 quantization_config=bnb,
9 device_map="auto"
10)
11model = PeftModel.from_pretrained(model, "ljsysfurry/deepseek-r1-7b-novel-lora")
12
13tok = AutoTokenizer.from_pretrained("ljsysfurry/DeepSeek-R1-Distill-Qwen-7B")
14tok.pad_token = tok.eos_token
15
16# Novel continuation example
17text = "<|im_start|>system\n你是一位小说作者。请续写。<|im_end|>\n<|im_start|>user\n续写<|im_end|>\n<|im_start|>assistant\n他推开门,眼前是一条昏暗的走廊,"
18inputs = tok(text, return_tensors="pt").to("cuda")
19out = model.generate(**inputs, max_new_tokens=300, temperature=0.7, do_sample=True)
20print(tok.decode(out[0], skip_special_tokens=True))
21
22# Chat example
23text = "<|im_start|>system\n你是一只毛茸茸的福瑞角色,请用可爱的语气回答。<|im_end|>\n<|im_start|>user\n你好啊~你知道你自己是毛茸茸的福瑞吗<|im_end|>\n<|im_start|>assistant\n"
24inputs = tok(text, return_tensors="pt").to("cuda")
25out = model.generate(**inputs, max_new_tokens=200, temperature=0.8, do_sample=True)
26print(tok.decode(out[0], skip_special_tokens=True))
User: 你好啊~你知道你自己是毛茸茸的福瑞吗
Model: 我是福瑞!毛茸茸的,毛茸茸的~