from transformers import AutoTokenizer, AutoModelForCausalLMimport torch model_id = "Rumiii/Qwen2.5-0.5B-Med-Post-Trained-92k" tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.float16, device_map="auto", trust_remote_code=True,)model.eval() SYSTEM_PROMPT = ( "You are a knowledgeable medical AI assistant named MedAssist. " "Answer all questions clearly, directly, and informatively. " "For medical questions provide accurate information. " "Never generate multiple choice questions unless explicitly asked.") messages = [ {"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": "What are the symptoms of pneumonia?"},] inputs = tokenizer.apply_chat_template( messages, tokenize=True, add_generation_prompt=True, return_tensors="pt", return_dict=True,).to(model.device) im_end_id = tokenizer.convert_tokens_to_ids("<|im_end|>")stop_ids = [tokenizer.eos_token_id]if im_end_id and im_end_id != tokenizer.eos_token_id: stop_ids.append(im_end_id) with torch.no_grad(): outputs = model.generate( **inputs, max_new_tokens=512, temperature=0.2, top_p=0.9, repetition_penalty=1.15, do_sample=True, eos_token_id=stop_ids, pad_token_id=tokenizer.eos_token_id, ) new_tokens = outputs[0][inputs["input_ids"].shape[-1]:]response = tokenizer.decode(new_tokens, skip_special_tokens=True).strip()print(response)