DSDUDEd commited on
Commit
0fe9a90
·
verified ·
1 Parent(s): 9171bde

Create model_handler.py

Browse files
Files changed (1) hide show
  1. model_handler.py +20 -0
model_handler.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import AutoTokenizer, AutoModelForCausalLM
2
+ import torch
3
+
4
+ class ModelHandler:
5
+ def __init__(self, model_name):
6
+ self.tokenizer = AutoTokenizer.from_pretrained(model_name)
7
+ self.model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto")
8
+
9
+ def chat(self, message: str, max_new_tokens: int = 200):
10
+ messages = [{"role": "user", "content": message}]
11
+ inputs = self.tokenizer.apply_chat_template(
12
+ messages,
13
+ add_generation_prompt=True,
14
+ tokenize=True,
15
+ return_dict=True,
16
+ return_tensors="pt",
17
+ ).to(self.model.device)
18
+
19
+ outputs = self.model.generate(**inputs, max_new_tokens=max_new_tokens)
20
+ return self.tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True)