wewew22 / handler.py
user1122sa's picture
Create handler.py
2766675 verified
Raw
History Blame Contribute Delete
1.25 kB
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()}