import torch from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig MODEL_ID = "TeichAI/Qwen3-4B-Thinking-2507-Claude-4.5-Opus-High-Reasoning-Distill" tokenizer = AutoTokenizer.from_pretrained( MODEL_ID, trust_remote_code=True ) bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_compute_dtype=torch.float16, bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=True, ) model = AutoModelForCausalLM.from_pretrained( MODEL_ID, quantization_config=bnb_config, device_map="auto", trust_remote_code=True, ) model.eval() def handler(inputs): if isinstance(inputs, dict): prompt = inputs.get("inputs", "") else: prompt = inputs encoded = tokenizer(prompt, return_tensors="pt") encoded = {k: v.to(model.device) for k, v in encoded.items()} with torch.inference_mode(): output = model.generate( **encoded, max_new_tokens=256, temperature=0.7, do_sample=True, pad_token_id=tokenizer.eos_token_id, ) text = tokenizer.decode( output[0][encoded["input_ids"].shape[-1]:], skip_special_tokens=True ) return {"generated_text": text.strip()}