alt.freeweights.text / Tess-4.5-27B
From: migtissera <huggingface.co/migtissera>Newsgroups: alt.freeweights.textSubject:

Tess-4.5-27B

Date: 2026-11-15Commit: 91b2311Signed: 2DC28CC7B26A283B ✓

Image text to text model with 27.8B parameters. Safetensors weights, 55.7 GB in all. Published by migtissera under Apache-2.0.

27.8B params55.7GBTess-4.5-27Bsafetensorspermissive
FactsParams27.8BSize55.7 GBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get migtissera/Tess-4.5-27B
# manifest sha256 266f1f6e4a6f… · 55.7 GB · 33 files
$ fw verify ./Tess-4.5-27B migtissera/Tess-4.5-27B
From sourceHosted (signed)migtissera/Tess-4.5-27BLast check: 2026-11-15 03:43 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of Qwen3.8-27B.

Works with

Overview

Size
55.7 GB
Weights
55.6 GB (safetensors)
Parameters
27.8B
Formats
safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
33, each with a sha256
Publisher
migtissera
Added
2026-11-15
Section
alt.freeweights.text
Lineage

Original release from the publisher.

Base model: Qwen/Qwen3.8-27B

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 03:43 UTCpassed

Model card

From the publisher at commit 91b2311. Shown as plain text with links; images open at the publisher.

Tess-4.5#

October 2026 · Continuity Research · GGUF

The frontier, at home.#

We’re introducing Tess-4.5, a 27-billion-parameter open-weights model for real engineering work. It reasons through every step, works with the tools and files actually in front of it, and runs on a single GPU or a laptop.

133 / 15025%096 tok/s
BenchLocal, best of three tries (128 on the first). Level with its base, Qwen3.8-27B.¹Fewer tokens than its base to reach that score, reasoning included.²Calls to a tool it wasn’t given, across 182 scored responses.³Writing code on a single RTX 4090, with the bundled draft head.⁴

Nothing traded away.#

Specialist fine-tunes usually pay for their specialty with general ability. Tess-4.5 doesn’t. On BenchLocal, the community’s quality suite for local models, it passes 133 of 150 scenarios within three tries, and 128 on the first: exactly its base, Qwen3.8-27B, on both counts. It leads on CLI-40, the pack closest to real terminal work, and is perfect on instruction following, math reasoning and bug finding.¹

BenchLocal pack, best of threeTess-4.5-27BQwen3.8-27B
ToolCall-151313
InstructFollow-151515
StructOutput-151414
DataExtract-151414
ReasonMath-151515
BugFind-151515
HermesAgent-201617
CLI-403130
Total, best of three133 / 150133 / 150
Total, first try128 / 150128 / 150

Less thinking. Same answers.#

Tess-4.5 reaches the same score with a quarter fewer tokens. Across all 150 BenchLocal scenarios it generated 25% fewer tokens than its base, reasoning included. It is leanest where the work is hardest: on CLI-40 it used 32% fewer tokens and still scored higher, and on data extraction 43% fewer.²

Tokens to the same scoreTess-4.5-27BQwen3.8-27B
All 150 scenarios262K349K−25%
CLI-40149K219K−32%
DataExtract-1514K25K−43%
BugFind-1528K35K−21%

Fewer tokens means answers sooner, less context spent on its own thinking, and longer sessions before the window fills. On your own GPU it compounds with the draft head: fewer tokens, each one faster.

It knows where it is.#

Local agents tend to fail in the same few ways. They invent a path, call a tool that isn’t there, or lose the thread an hour in. Tess-4.5 is built to do the opposite.

It reads its environment before it acts: the directory it is working in, and the exact tools it has been handed. Across 182 scored BenchLocal responses, it never called a tool it wasn’t given.³

# system
Working directory: /Users/sam/projects/agent-core
Tools: Bash

# user
What Python version is installed here?

# tess
Bash({"command": "python --version", "description": "Check installed Python version"})

# user, no tools offered
What is 17 × 23? Reply with just the number.

# tess
391

Fast where you are.#

Tess-4.5 ships with a multi-token-prediction draft head that writes several tokens per step. On a single RTX 4090 it doubles code generation, from 49 tokens a second to 96. On a MacBook Pro it takes code from 24 to 38.⁴

MachineWithout draftWith MTP draft, codeWith MTP draft, shell
NVIDIA RTX 409048.9 tok/s96.1 tok/s85.5 tok/s
Apple M4 Max24.4 tok/s37.8 tok/s33.1 tok/s

Capability, with control.#

An agent that can run commands can also run the wrong one. Tess-4.5 is built to ask before destructive actions and to report failures plainly, but no model is a guarantee. Run it with permission prompts, in a sandbox, or in a container.

The weights are open. You can inspect them, adapt them and run them where your data already lives. The responsibility for how they are deployed is yours, too.


Get started#

Give Tess its bearings. Tess works best when it knows where it is. State the working directory in the system prompt and attach your real tool definitions:

You are Tess, an agentic coding assistant that operates in the user's terminal.

# Environment

Working directory: /path/to/your/project
  • Pass your actual tools in the tools field. Tess reads the definitions and uses what is there.
  • Leave thinking on, which is the default, and keep preserve_thinking on for multi-turn agent loops.
  • Sample with temperature=1.0, top_p=0.95, top_k=20, min_p=0.0.

llama.cpp. GGUF quantizations, the vision projector and the MTP draft heads are in Tess-4.5-27B-GGUF.

llama-server -hf migtissera/Tess-4.5-27B-GGUF:Q4_K_M --spec-type draft-mtp --jinja -ngl 99 -c 65536

vLLM.

vllm serve migtissera/Tess-4.5-27B \
  --reasoning-parser qwen3 \
  --enable-auto-tool-choice --tool-call-parser qwen3_coder \
  --speculative-config '{"method": "mtp", "num_speculative_tokens": 3}'
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
response = client.chat.completions.create(
    model="migtissera/Tess-4.5-27B",
    messages=[
        {"role": "system", "content": "You are Tess, an agentic coding assistant.\n\n# Environment\n\nWorking directory: /home/me/project"},
        {"role": "user", "content": "Why is the test suite failing?"},
    ],
    tools=[{
        "type": "function",
        "function": {
            "name": "Bash",
            "description": "Executes a bash command and returns its output.",
            "parameters": {"type": "object", "properties": {"command": {"type": "string"}}, "required": ["command"]},
        },
    }],
    temperature=1.0, top_p=0.95,
    extra_body={"top_k": 20, "chat_template_kwargs": {"preserve_thinking": True}},
)
print(response.choices[0].message)

Availability#

Tess-4.5 is available now under the Apache 2.0 license, built on Qwen3.8-27B.

This repositoryBF16 weights for transformers, vLLM and SGLang
Tess-4.5-27B-GGUFQ4_K_M · Q6_K · Q8_0 · vision projector · MTP draft heads
Base modelQwen3.8-27B: 27B dense, hybrid Gated DeltaNet and attention, vision-language
Context262,144 tokens, inherited from Qwen3.8-27B
ReasoningThinking on by default; reasoning_effort (xhigh, medium, low); preserve_thinking
VisionInherited from Qwen3.8-27B

Limitations. Tess-4.5 is built for software engineering and agentic work in English. General chat and creative writing come from the base model and were not a focus.


Notes#

  1. BenchLocal (benchlocal-cli), all 8 packs, 150 scenarios. Best of three is BenchLocal’s Pass@3: a scenario counts if any of up to three attempts passes. First try is Pass@1. Thinking on (reasoning effort xhigh), temperature 1.0, top-p 0.95, top-k 20, 16K thinking budget, one run per model on the same harness. At temperature 1.0 a single run moves by about two scenarios per pack, so read per-pack differences of one or two as ties. Community runs of Qwen3.8-27B with a 64K thinking budget report 129 to 137 on the first try.
  2. Completion tokens, reasoning plus answer, on each scenario’s first attempt in the runs from note 1, summed over all 150 scenarios: Tess-4.5 262,047, Qwen3.8-27B 349,009. Counting retries too, Tess-4.5 used 20% fewer (318,532 against 399,130).
  3. Counted over every scored response, retries included, to requests that declared no tools.
  4. Q4_K_M with upstream llama.cpp, one request at a time, thinking on. RTX 4090: 131K context, q4_0 KV cache (the draft’s too), flash attention. M4 Max: 16K context. MTP: the Q8_0 draft head with draft-mtp speculative decoding. Gains depend on the task: on the 4090, prose went from 49 to 82 tokens a second.

Acknowledgments#

Tess-4.5 stands on Qwen3.8-27B. Thank you to the Qwen team for an exceptional open base model. Thanks also to Thinking Machines Lab for Tinker, the llama.cpp community, and the BenchLocal community for an honest yardstick for local models.

@misc{tess45,
  title  = {Tess-4.5},
  author = {Migel Tissera},
  year   = {2026},
  url    = {https://huggingface.co/migtissera/Tess-4.5-27B}
}

Files

33 files · 55.7 GBWeights 55.6 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 33 files with their sha256
FileSizesha256
.gitattributes1.69 KB08208f9c9c4ade35293327eaa267693d283845fcadbd9c3116037a415ac05b0a
LICENSE11.5 KBbbedc3fda3305820b977265f01b8619d87570a6739de3a5582c3464840f1e57a
README.md9.15 KBf4e2237c13c137034f8602c697e58aeb62bafa4e37bf785a32ca441772de78b9
assets/poster.jpg157 KBcf948eccd67daf19d0a5a9803939f6fe3344eb5c5a0201fdc2a7c13837d366e1
assets/tess-4.5-launch.mp468.7 MB63980691443cd27e80c057aee55775c9564c47ef4ebfbe39ba9c2ba89b3d2aae
chat_template.jinja8.95 KBc3cf9e34abf4f9e36c2d72165aa9c132d3e2a725b6c2586aaa3a8af9d7a81041
config.json4.31 KB191e0af232104ed8b65258cf3fb2b842e288008baca7633c11b82a1ac7203aab
generation_config.json202 Be70c136c1b78ddc1fb0905bac8e733a4dc448d4f852a5dd75143fffc70be550e
merges.txt3.35 MBa9d356d7bdf1ef4949e3e748e95b8e10ad9d4e2e838eddc38a0a7b6b94d1db8d
model-00001-of-00018.safetensors3.97 GB68220d7bc3341503c0f866d4ffd61947edb485c41b71b873df33f6557becff5c
model-00002-of-00018.safetensors3.04 GBcb4be66d102813e68085c33f1fa0224d3ca37262be94c2d66d479fec6e7684f5
model-00003-of-00018.safetensors2.54 GB1e22bff91476ac31fd41fa6c5b6772286cacb458fcb0b13cd0d401d15504cf42
model-00004-of-00018.safetensors3.99 GB2b746e2799f553a257bae06ade35f512bbc7ff51fafbb20cd9931335f76b7d61
model-00005-of-00018.safetensors2.10 GBe03730273abef56343a74b645cf5eda3026ad2f5b154a95d38ecc3dc7df90cc8
model-00006-of-00018.safetensors3.98 GB8c85c299bb2139943d73faea68dd5f1e0261b0c67fc5ea0b526e025e0a3ea4ec
model-00007-of-00018.safetensors2.11 GB063e1f20f012cf98ea04bafc0226e8ad9fbe98b9c131d48e54cc32405b986db2
model-00008-of-00018.safetensors3.98 GBa44d1fb9848798b2ca96c6ab33289961c0f3a82e6f423b01fecfe4c1aa41b0b4
model-00009-of-00018.safetensors2.11 GB4bc5e95366eea83de90c309f8a09e9542408734cad38c02330ad87831b68d96a
model-00010-of-00018.safetensors3.98 GB2b34e13e2489eefe44aa0288ec52f66362e536b3ca5ae096306434b8bee3fcc1
model-00011-of-00018.safetensors2.11 GB82b081bfded1d55c132d912963a15ae5d46539748ed329122a50d078c55f5baa
model-00012-of-00018.safetensors3.98 GBa4ed3646db64a25d076f6c734167b0b030b58c2c3c54b1c130548d537d474bfc
model-00013-of-00018.safetensors2.11 GB7a4278d7a96ad32b02f814b6fc3f470788fe286602b94258d1532e08830d4921
model-00014-of-00018.safetensors3.98 GBa64cdf21aa317d3f9d58240c9d19902a6fe40720698ca6dd21b3448c4541c144
model-00015-of-00018.safetensors2.11 GBfa048c9301b901fcc64df51437895cfe04419e041ac91d00d1616b2b210cd084
model-00016-of-00018.safetensors3.98 GB6a3d5de0d9c551d4346901631b5a6a1e1bb0b15f408fb5e7fbbd7bfd1801a6e3
model-00017-of-00018.safetensors2.11 GB80fb440b49e31983b707e95d803c14278b9ee630e05d2cd246fd8e854675e6c4
model-00018-of-00018.safetensors3.39 GB58461befd81acf6e595121891657884343f45a9ab68da83ee634d2f30309b895
model.safetensors.index.json112 KB22d9f84b0b6c0478611e76b5274fdc0233f476dac38d191dc6b6cdb7bf9cecd1
preprocessor_config.json390 B27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516
tokenizer.json12.8 MB0997f410c57a1f4e53b09e4be8f4a172d90edd9564368fb0847030937229b9f3
tokenizer_config.json17.9 KBb11349aafa7cdc6a320767cf7ceb29ed82f7eda5d65e8e0819e76f0ce947bf27
video_preprocessor_config.json385 B7768af27c1fafa9cc9011c1dc20067e03f8915e03b63504550e11d5066986d13
vocab.json6.72 MBce99b4cb2983d118806ce0a8b777a35b093e2000a503ebde25853284c9dfa003
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
91b2311334 pinned now2026-11-15 03:43 UTC33 files · 55.7 GB

Use it

$ fw get migtissera/Tess-4.5-27B
# manifest sha256 266f1f6e4a6f… · 55.7 GB · 33 files
$ fw verify ./Tess-4.5-27B migtissera/Tess-4.5-27B
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/migtissera/Tess-4.5-27B.json --dir ./Tess-4.5-27B $ python3 fw.py verify ./Tess-4.5-27B ./migtissera__Tess-4.5-27B.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download migtissera/Tess-4.5-27B --revision 91b231133470bd147aac8036ed94d35e9bf1dc13 --local-dir ./Tess-4.5-27B
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForImageTextToText, AutoProcessor processor = AutoProcessor.from_pretrained("migtissera/Tess-4.5-27B", revision="91b231133470bd147aac8036ed94d35e9bf1dc13") model = AutoModelForImageTextToText.from_pretrained("migtissera/Tess-4.5-27B", revision="91b231133470bd147aac8036ed94d35e9bf1dc13", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve migtissera/Tess-4.5-27B --revision 91b231133470bd147aac8036ed94d35e9bf1dc13

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
LICENSE
Text sha256
bbedc3fda3305820b977265f01b8619d87570a6739de3a5582c3464840f1e57a
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: migtissera <huggingface.co/migtissera>Newsgroups: alt.freeweights.textSubject: Tess-4.5-27BDate: 2026-11-15Commit: 91b2311Signed: 2DC28CC7B26A283B ✓
Upstream
migtissera/Tess-4.5-27B
Pinned commit
91b231133470bd147aac8036ed94d35e9bf1dc13
Manifest
Tess-4.5-27B.json · .minisig
Manifest sha256
266f1f6e4a6fcb725cca609c3ae0d0d489c534782474d0417cb334ffc86f79a7
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:43 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/migtissera/Tess-4.5-27B.json $ curl -O https://freeweights.allternit.com/manifests/migtissera/Tess-4.5-27B.json.minisig $ minisign -Vm Tess-4.5-27B.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

Qwen/Qwen3.8-27B · this model is a finetune of it

1 model in the catalog name this one as their parent.

Quantizations
1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download migtissera/Tess-4.5-27B
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. Tess-4.5-27B.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of Tess-4.5-27B. Each has its own license check and page.

From: laion <huggingface.co/laion>Subject: a2-rl-e2egit_large-50-32B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-large-15-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-v2-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_pymethods2test-large-80-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_unitsyn-python-large-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_mix_h2_language_proportional-65-8B