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)