Downloads · 30 days
57
8% of all-time downloads
migtissera/Tess-4-9B
Tess-4-9B is a image-text-to-text model from migtissera. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as apache-2.0.
Reasoning that scales with the problem — now in a 9B footprint. An agentic, thinking-native model that deliberates harder exactly when it matters and gets out of its own way when it does not.
Downloads · 30 days
57
8% of all-time downloads
All-time downloads
738
Public
Parameters
9.7B
19.3 GB on disk
Likes
16
Trending 1
Click a slice to open those files.
.safetensors19.3 GB · 100%
How the weights are stored.
BF169.7B · 100%
From the Hugging Face model README
Reasoning that scales with the problem — now in a 9B footprint. An agentic, thinking-native model that deliberates harder exactly when it matters and gets out of its own way when it does not.
Tess-4-9B is the compact sibling of Tess-4-27B, built on Qwen/Qwen3.5-9B-Base by Migel Tissera. It was post-trained on the same deliberate blend as the 27B release: 64K-token long-context agentic traces — real engineering work done with Fable-5, not synthetic generations — with a reasoning style approximated from Fable-5 by a three-model teacher ensemble (Opus-4.8, GPT-5.5, and GLM-5.2) fused into one coherent voice.
The result is a 9B model with a much larger model's working style: form a hypothesis, act, verify, and spend real reasoning effort on the turns that deserve it — not a model that narrates its way to an answer it already had.
A 9B model that decisively moves the base. Across the six reported metrics, Tess-4-9B improves on Qwen3.5-9B-Base every time:
The comparison includes Qwen3.5-9B-Base, Qwythos-9B, and Tess-4-9B. Scores are accuracy on a 0–1 scale in the chart. For GPQA, the solid Tess segment is the complete 24K-cap run (62%); only samples that exhausted that cap were retried at 48K, producing the lighter extension to 73%.
Tess-4's signature is how it thinks. The reasoning/thinking traces used to train it were a best-case approximation of Fable-5, produced by Opus-4.8, GPT-5.5, and GLM-5.2 working together as a team — a multi-model teacher ensemble distilled into a single, coherent reasoning style.
The result is a model that reasons prospectively — predicting, verifying, and weighing alternatives before acting — rather than narrating after the fact.
Tess-4 uses the bundled Qwen3.5-family agentic chat template with explicit <code><think> … </think></code> reasoning blocks. The model reasons first, then produces its visible answer:
<|im_start|>user
Your prompt here<|im_end|>
<|im_start|>assistant
<think>
… the model's private reasoning …
</think>
… the model's answer …<|im_end|>
Apply the format automatically with <code>tokenizer.apply_chat_template(messages, add_generation_prompt=True)</code>. Keep the repository's bundled chat template intact; substituting a generic template can materially change behavior.
Tess-4-9B is a heavy reasoner on difficult questions. For demanding math, science, or agentic tasks, allow a generous generation budget. Some GPQA samples required more than 24K output tokens and benefited from a 48K cap.
This repository — full-precision weights:
| Format | Parameters | Approximate size | Best for |
|---|---|---|---|
| BF16 safetensors | 9.65B | 19.3 GB | transformers · vLLM · SGLang |
GGUF builds → migtissera/Tess-4-9B-GGUF
| File | Format | Size | Best for |
|---|---|---|---|
| <code>Tess-4-9B-Q4_K_M.gguf</code> | Q4_K_M | 5.63 GB | recommended for most local users |
| <code>Tess-4-9B-Q6_K.gguf</code> | Q6_K | 7.36 GB | excellent quality/size balance |
| <code>Tess-4-9B-Q8_0.gguf</code> | Q8_0 | 9.53 GB | effectively lossless for most use cases |
| <code>Tess-4-9B-F16.gguf</code> | F16 | 17.92 GB | unquantized GGUF · maximum fidelity |
Run the recommended Q4_K_M build directly from Hugging Face with a recent llama.cpp:
llama-cli \
-hf migtissera/Tess-4-9B-GGUF:Q4_K_M \
--jinja \
-c 65536 \
-p "Inspect this code, identify the root cause, and propose a verified fix."
Or download it first:
hf download migtissera/Tess-4-9B-GGUF \
Tess-4-9B-Q4_K_M.gguf \
--local-dir ./tess-4-9b
See the Tess-4-9B-GGUF model card for every quant, llama.cpp server commands, memory guidance, and prompt-format details. The current GGUF release contains text-model files only; use this full-precision repository for the inherited vision path.
Use a recent <code>transformers</code> release with Qwen3.5 support.
from transformers import AutoProcessor, AutoModelForImageTextToText
import torch
model_id = "migtissera/Tess-4-9B"
processor = AutoProcessor.from_pretrained(
model_id,
trust_remote_code=True,
)
model = AutoModelForImageTextToText.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
messages = [
{
"role": "user",
"content": "Inspect this function, identify the bug, and propose a verified fix.",
}
]
inputs = processor.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=8192,
do_sample=False,
)
prompt_tokens = inputs["input_ids"].shape[-1]
answer = processor.decode(
outputs[0][prompt_tokens:],
skip_special_tokens=True,
)
print(answer)
For multimodal input, pass image and text content through <code>AutoProcessor</code> using the standard Qwen3.5 message structure.
Tess-4-9B is built on Qwen/Qwen3.5-9B-Base by the Qwen team — full credit to them for an outstanding base model. Tess-4 inherits its Qwen3.5 vision-language architecture and its Apache 2.0 license.
Released under the Apache License 2.0, inherited from the base model.
@misc{tissera2026tess49b,
title = {Tess-4-9B},
author = {Migel Tissera},
year = {2026},
howpublished = {\url{https://huggingface.co/migtissera/Tess-4-9B}},
note = {Built on Qwen/Qwen3.5-9B-Base}
}
Tess-4-9B — part of the Tess series by Migel Tissera.