File size: 770 Bytes
a9ad0c9
 
8c396f6
a9ad0c9
 
 
b3e48c2
8c396f6
5bdbecd
 
a9ad0c9
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import os

def load_model():
    model_name = "bigcode/starcoder"
    hf_token = os.getenv("HF_TOKEN")

    tokenizer = AutoTokenizer.from_pretrained(model_name, use_auth_token=hf_token)
    model = AutoModelForCausalLM.from_pretrained(model_name, use_auth_token=hf_token, trust_remote_code=True)
    model.eval()

    device = "cuda" if torch.cuda.is_available() else "cpu"
    model.to(device)
    return tokenizer, model, device

def generate_explanation(prompt, tokenizer, model, device):
    inputs = tokenizer(prompt, return_tensors="pt").to(device)
    output = model.generate(**inputs, max_new_tokens=512, temperature=0.7)
    return tokenizer.decode(output[0], skip_special_tokens=True)