Miguel0918 commited on
Commit
5a17665
verified
1 Parent(s): fee376f

Create model_loader.py

Browse files
Files changed (1) hide show
  1. model_loader.py +34 -0
model_loader.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # model_loader.py
2
+ from transformers import AutoTokenizer, AutoModelForCausalLM
3
+ from peft import PeftModel
4
+ import torch
5
+
6
+ def load_model():
7
+ # Define o modelo base e o caminho dos adapters (reposit贸rio atual)
8
+ base_model = "defog/sqlcoder-7b-2"
9
+ adapter_path = "./" # Aqui, assume que os arquivos dos adapters est茫o no diret贸rio raiz do reposit贸rio
10
+
11
+ # Carregar o tokenizer
12
+ tokenizer = AutoTokenizer.from_pretrained(adapter_path)
13
+ tokenizer.pad_token = tokenizer.eos_token
14
+
15
+ # Carregar o modelo base com quantiza莽茫o (assumindo 4-bit e utiliza莽茫o de fp16)
16
+ model = AutoModelForCausalLM.from_pretrained(
17
+ base_model,
18
+ device_map="auto",
19
+ load_in_4bit=True,
20
+ torch_dtype=torch.float16
21
+ )
22
+ model.config.pad_token_id = tokenizer.pad_token_id
23
+
24
+ # Aplicar os adapters LoRA a partir do adapter_path
25
+ model = PeftModel.from_pretrained(model, adapter_path)
26
+
27
+ return model, tokenizer
28
+
29
+ if __name__ == "__main__":
30
+ model, tokenizer = load_model()
31
+ prompt = "portfolio_transaction_headers(...) JOIN portfolio_transaction_details(...): Find transactions for portfolio 72 involving LTC"
32
+ inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
33
+ outputs = model.generate(**inputs, max_new_tokens=128)
34
+ print(tokenizer.decode(outputs[0], skip_special_tokens=True))