--- license: apache-2.0 base_model: - Qwen/Qwen3.6-27B library_name: transformers pipeline_tag: image-text-to-text tags: - tess - agentic - reasoning - thinking - long-context - tool-use - qwen3 - multimodal --- # Tess-4-27B > **Reasoning that scales with the problem.** An agentic, thinking-native model that deliberates *harder exactly when it matters* — and gets out of its own way when it doesn't. **Tess-4-27B** is the first Tess release in two years, and the first that *reasons*. Built on **[Qwen/Qwen3.6-27B](https://huggingface.co/Qwen/Qwen3.6-27B)** by **[Migel Tissera](https://huggingface.co/migtissera)**, it's post-trained on a deliberate blend: 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 27B model that thinks like a senior engineer: form a hypothesis, act, verify, and reason with real density on the turns that actually deserve it — **not a model that narrates its way to an answer it already had.** --- ## Community Performed Benchmarks **Currently best-in-class for BenchLocal** | Rank | Model | Score | Result | |------|-------|:-----:|:------:| | 1 | Tess-4-27B (Q8) | 81% | 122/150 | | 2 | Qwen3.6-35B-A3B (UD-Q8_K_XL) | 78% | 117/150 | | 3 | Gemma-4-31B (Q6 · 180k ctx) | 78% | 117/150 | | 4 | Qwopus3.6-27B Coder-Compat (Q6_K) | 77% | 116/150 | | 5 | Qwen3.6-27B pi-tune (Q8) | 77% | 115/150 | ### References 1. https://huggingface.co/migtissera/Tess-4-27B/discussions/2#6a4ff70af13ec7012fb149f0 2. https://gist.github.com/everson/261fdef8a3d35298b36a07f436e407f6 ## Why Tess-4 is different - 🧠 **Weight-scaled reasoning.** Tess-4 keeps routine steps tight and pours deliberation into the hard ones — planning, debugging, synthesis, judgment calls. It doesn't ramble; it thinks *proportionally* to the difficulty of the moment. - 🛠️ **Agentic by design.** Native, parallel tool use and disciplined multi-step problem solving. It reads a codebase, builds a real mental model, and acts on it. - 📏 **Long-context, trained at 64K.** Post-trained on **64K-token long-context agentic traces**, so it holds a large working set without losing the thread. - 👁️ **Multimodal.** Inherits Qwen3.6's vision tower — text **and** image in. (For GGUF, pair with the included vision projector.) - 🤝 **Honest, not sycophantic.** Trained to give grounded, evidence-based pushback instead of flattery. ## The reasoning traces 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 a combination of **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. ## Prompt format & thinking Tess-4 uses the Qwen3.5-family chat template with explicit `` reasoning blocks. The model reasons privately, then produces its visible answer: ``` <|im_start|>user Your prompt here<|im_end|> <|im_start|>assistant … the model's private reasoning … … the model's answer …<|im_end|> ``` Apply it automatically via `tokenizer.apply_chat_template(messages, add_generation_prompt=True)`, or `--jinja` in llama.cpp. ## Available formats **This repo — full-precision weights:** | Format | ~Size | Best for | |---|---|---| | BF16 safetensors | 52 GB | transformers · vLLM · SGLang | **GGUF quants → [`migtissera/Tess-4-27B-GGUF`](https://huggingface.co/migtissera/Tess-4-27B-GGUF)** | File | Format | ~Size | Best for | |---|---|---|---| | `Tess-4-27B-Q4_K_M.gguf` | Q4_K_M | 16.5 GB | smallest — great quality/size · most popular | | `Tess-4-27B-Q6_K.gguf` | Q6_K | 22 GB | near-lossless | | `Tess-4-27B-Q8_0.gguf` | Q8_0 | 28 GB | effectively lossless | | `mmproj-Tess-4-27B-F16.gguf` | vision projector | 0.9 GB | pair with any text GGUF for image input | ## Faster inference - ⚡ **[Tess-4-27B-EAGLE3](https://huggingface.co/migtissera/Tess-4-27B-EAGLE3)** — a speculative-decoding draft trained on Tess-4's own outputs: **1.76× average decode speedup, up to 2.4× on reasoning** (measured on H100; lossless — outputs are identical). SGLang: `--speculative-algorithm EAGLE3 --speculative-draft-model-path migtissera/Tess-4-27B-EAGLE3`; vLLM: `--speculative-config '{"method":"eagle3","model":"migtissera/Tess-4-27B-EAGLE3","num_speculative_tokens":4}'`. - 🧮 **[Tess-4-27B-NVFP4](https://huggingface.co/migtissera/Tess-4-27B-NVFP4)** — 4-bit NVFP4 (19 GB, −63%), Blackwell-native W4A4, calibrated on Tess-4's own generations. Quantization and speculative decoding **stack**. ## Quickstart ### llama.cpp / LM Studio (GGUF) Grab the quant(s) from [`migtissera/Tess-4-27B-GGUF`](https://huggingface.co/migtissera/Tess-4-27B-GGUF): ```bash hf download migtissera/Tess-4-27B-GGUF \ Tess-4-27B-Q4_K_M.gguf mmproj-Tess-4-27B-F16.gguf \ --local-dir ./tess-4-27b ``` ```bash # text llama-cli -m Tess-4-27B-Q4_K_M.gguf --jinja -p "Refactor this function and explain your reasoning." # with images (multimodal) llama-mtmd-cli -m Tess-4-27B-Q4_K_M.gguf \ --mmproj mmproj-Tess-4-27B-F16.gguf \ --image photo.png -p "What's in this image?" ``` **LM Studio:** put `mmproj-Tess-4-27B-F16.gguf` in the **same folder** as the model file — LM Studio auto-detects it and enables image input. (Use a recent runtime; older llama.cpp builds won't recognize the architecture.) ### transformers ```python from transformers import AutoProcessor, AutoModelForImageTextToText import torch model_id = "migtissera/Tess-4-27B" 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": "Explain the tradeoffs of LoRA vs full fine-tuning."}] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, return_tensors="pt" ).to(model.device) out = model.generate(inputs, max_new_tokens=1024) print(processor.decode(out[0], skip_special_tokens=True)) ``` *(Requires a recent `transformers` with Qwen3.5/3.6 support.)* ## What it's good at - **Agentic coding** — exploring unfamiliar repos, planning changes, and executing multi-step work with tools. - **Long-context work** — reasoning over large codebases and documents without dropping context. - **Technical & product judgment** — honest, structured analysis that pushes back with evidence rather than agreeing by default. ## Credits Tess-4-27B is built on **[Qwen/Qwen3.6-27B](https://huggingface.co/Qwen/Qwen3.6-27B)** by the **Qwen team** — full credit to them for an outstanding base model. Tess-4 inherits its Qwen3.5-family vision-language architecture and its **Apache 2.0** license. ## License Released under the **Apache License 2.0**, inherited from the base model. See [`LICENSE`](./LICENSE). ## Citation ```bibtex @misc{tissera2026tess4, title = {Tess-4-27B}, author = {Migel Tissera}, year = {2026}, howpublished = {\url{https://huggingface.co/migtissera/Tess-4-27B}}, note = {Built on Qwen/Qwen3.6-27B} } ``` --- *Tess-4-27B — part of the **Tess** series by [Migel Tissera](https://huggingface.co/migtissera). Evaluations forthcoming.*