How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="eewer/Qwen3-4B-Thinking-Preservation")
messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe(messages)
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("eewer/Qwen3-4B-Thinking-Preservation")
model = AutoModelForCausalLM.from_pretrained("eewer/Qwen3-4B-Thinking-Preservation", device_map="auto")
messages = [
    {"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
	messages,
	add_generation_prompt=True,
	tokenize=True,
	return_dict=True,
	return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

Qwen3-4B-Thinking-Preservation

Derived from Qwen/Qwen3-4B (hybrid thinking model). The chat template no longer strips <think> from prior assistant turns and the nonthinking branch is removed, so the generation prompt always opens <think> (like Qwen3-4B-Thinking-2507).

Thinking is always preserved across multi-turn history (append-only). Every assistant turn keeps its <think>...</think> reasoning, not just the latest one, and the generation prompt always opens <think> (passing enable_thinking=False has no effect). This makes multi-turn agent training match evaluation — the model always sees its own prior reasoning. Model weights are identical to Qwen/Qwen3-4B; only the chat template differs.

Downloads last month
10
Safetensors
Model size
4B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for eewer/Qwen3-4B-Thinking-Preservation

Finetuned
Qwen/Qwen3-4B
Finetuned
(1107)
this model
Finetunes
1 model

Collection including eewer/Qwen3-4B-Thinking-Preservation