import torchfrom peft import PeftModelfrom transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig # 4-bit quantization (matches training)bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, bnb_4bit_use_double_quant=True,) tokenizer = AutoTokenizer.from_pretrained("arabsya87sy7a8/newmodel", trust_remote_code=True)base = AutoModelForCausalLM.from_pretrained( "arabsya87sy7a8/newmodel", quantization_config=bnb_config, device_map="auto", trust_remote_code=True,)model = PeftModel.from_pretrained(base, "arabsya87sy7a8/newmodel")model.eval() # IMPORTANT: Use system prompt for best resultsmessages = [ {"role": "system", "content": "You are an expert Three.js developer. Output complete, modular code. Use separate files when appropriate (terrain.js, sky.js, castle.js, city.js, cameras.js, cinematic.js, audio.js, textures.js, util.js, main.js, index.html). Include custom shaders, procedural textures, and cinematic camera system."}, {"role": "user", "content": "create the most realistic and accurate 3D model of the Bratislava castle..."},]prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)inputs = tokenizer(prompt, return_tensors="pt").to(model.device)with torch.no_grad(): output = model.generate( **inputs, max_new_tokens=4000, do_sample=True, temperature=0.4, top_p=0.9, pad_token_id=tokenizer.pad_token_id, repetition_penalty=1.05, )print(tokenizer.decode(output[0], skip_special_tokens=True))