Views
No views yet
1import torch
2from peft import PeftConfig, PeftModel
3from transformers import AutoModelForCausalLM, AutoTokenizer
4
5torch.manual_seed(42)
6
7# script config
8base_model_name = "LSX-UniWue/LLaMmlein_1B"
9chat_adapter_name = "LSX-UniWue/LLaMmlein_1B_chat_guanako"
10device = "cuda" # or mps
11
12# chat history
13messages = [
14 {
15 "role": "user",
16 "content": """Na wie geht's?""",
17 },
18]
19
20# load model
21config = PeftConfig.from_pretrained(chat_adapter_name)
22base_model = model = AutoModelForCausalLM.from_pretrained(
23 base_model_name,
24 torch_dtype=torch.bfloat16,
25 device_map=device,
26)
27base_model.resize_token_embeddings(32064)
28model = PeftModel.from_pretrained(base_model, chat_adapter_name)
29tokenizer = AutoTokenizer.from_pretrained(chat_adapter_name)
30
31# encode message in "ChatML" format
32chat = tokenizer.apply_chat_template(
33 messages,
34 return_tensors="pt",
35 add_generation_prompt=True,
36).to(device)
37
38# generate response
39print(
40 tokenizer.decode(
41 model.generate(
42 chat,
43 max_new_tokens=300,
44 pad_token_id=tokenizer.pad_token_id,
45 eos_token_id=tokenizer.eos_token_id,
46 )[0],
47 skip_special_tokens=False,
48 )
49)
50