Guardpoint is a medical reasoning specialist built on Qwen 3.
Guardpoint delivers structured medical responses using the
Qwen 3 prompt format.
1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model_name = "ValiantLabs/Qwen3-14B-Guardpoint"
4
5# load the tokenizer and the model
6tokenizer = AutoTokenizer.from_pretrained(model_name)
7model = AutoModelForCausalLM.from_pretrained(
8 model_name,
9 torch_dtype="auto",
10 device_map="auto"
11)
12
13# prepare the model input
14prompt = "A 60-year-old undergoes a Total Knee Arthroplasty (TKA). Post-operatively, they complain of a clunking sensation and instability when descending stairs. On exam, they have excessive posterior translation of the tibia at 90 degrees of flexion. The TKA used a Cruciate Retaining (CR) implant. Diagnosis is PCL incompetence or rupture. Explain why a CR implant relies on a functional PCL for femoral rollback and how converting to a Posterior Stabilized (PS) implant resolves this biomechanical failure."
15#prompt = "I have that tube in my chest for dialysis while my arm heals. The dressing came off in the shower and the tube got tugged a bit. It didn't come out, but now there's this red cuff thing showing that used to be inside the skin. It’s sticking out about an inch. Can I just push it back in and tape it?"
16#prompt = "In the workup of a tumor of unknown primary, a biopsy shows a poorly differentiated carcinoma. The IHC profile is: CK7+, CK20+, CDX2+, TTF-1 negative, PAX8 negative. Based on this cytokeratin and transcription factor profile, where is the most likely primary site of the malignancy?"
17#prompt = "I have bad arthritis in my lower back and hips. I saw a chiropractor who said my 'pelvis is twisted' and wants to do high-velocity adjustments. My rheumatologist said absolutely not because of my 'osteophytes'. Who is right? I just want to walk without stiffness."
18messages = [
19 {"role": "user", "content": prompt}
20]
21text = tokenizer.apply_chat_template(
22 messages,
23 tokenize=False,
24 add_generation_prompt=True,
25 enable_thinking=True # Switches between thinking and non-thinking modes. Default is True.
26)
27model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
28
29# conduct text completion
30generated_ids = model.generate(
31 **model_inputs,
32 max_new_tokens=32768
33)
34output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
35
36# parsing thinking content
37try:
38 # rindex finding 151668 (</think>)
39 index = len(output_ids) - output_ids[::-1].index(151668)
40except ValueError:
41 index = 0
42
43thinking_content = tokenizer.decode(output_ids[:index], skip_special_tokens=True).strip("\n")
44content = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip("\n")
45
46print("thinking content:", thinking_content)
47print("content:", content)
DISCLAIMER: Guardpoint is a medical reasoning finetune that is subject to the strengths and weaknesses of LLMs. A conversation with an LLM is not a substitute for a professional medical examination. Utilize Guardpoint responsibly.
We care about open source. For everyone to use.