alt.freeweights.mistral / Magistral-Small-2509-GGUF
From: mistralai <huggingface.co/mistralai>Newsgroups: alt.freeweights.mistralSubject:

Magistral-Small-2509-GGUF

Date: 2026-11-15Commit: 429b90dSigned: 2DC28CC7B26A283B ✓

Model. Gguf weights, 103 GB in all. Published by mistralai under Apache-2.0.

mistral103GBMagistral-Small-2509-GGUFggufpermissive
FactsParamsnot statedSize103 GBFormatsggufTasknot taggedLicenseApache-2.0From sourcepermissive
$ fw get mistralai/Magistral-Small-2509-GGUF
# manifest sha256 679fcd99024b… · 103 GB · 6 files
$ fw verify ./Magistral-Small-2509-GGUF mistralai/Magistral-Small-2509-GGUF
From sourceHosted (signed)mistralai/Magistral-Small-2509-GGUFLast check: 2026-11-15 04:57 UTC

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

Quantized of Magistral-Small-2509.

Works with

Convert with

Scan with

Overview

Size
103 GB
Weights
14.3 GB (smallest of 4 GGUF variants)
Parameters
not stated
Formats
gguf
Task
not tagged
License
Apache-2.0 (permissive)
Files
6, each with a sha256
Publisher
mistralai
Added
2026-11-15
Section
alt.freeweights.mistral
Lineage

Original release from the publisher.

Base model: mistralai/Magistral-Small-2509

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 04:57 UTCpassed

Model card

From the publisher at commit 429b90d. Shown as plain text with links; images open at the publisher.

Note. To make our models more accesible to everyone, this repo provides a basic GGUF checkpoint compatible with llama.cpp and mistral-common.

In addition to using this GGUF checkpoint, we encourage the community to use other GGUF variants, e.g. from Unsloth, LM Studio, ...

If you encounter any problems with the provided checkpoints here, please open a discussion or pull request.

Magistral Small 1.2 (GGUF)#

Building upon Mistral Small 3.2 (2506), with added reasoning capabilities, undergoing SFT from Magistral Medium traces and RL on top, it's a small, efficient reasoning model with 24B parameters.

Magistral Small can be deployed locally, fitting within a single RTX 4090 or a 32GB RAM MacBook once quantized.

This is the GGUF version of the Magistral-Small-2509 model. We released the BF16 weights as well as the following quantized format:

  • Q8_0
  • Q5_K_M
  • Q4_K_M

We do not release alongside our GGUF files:

  • An official chat template. Instead, we recommend using mistral-common, which serves as our source of truth for tokenization and detokenization. Llama.cpp automatically loads a chat template, but it is in most likelihood incorrect for Magistral.
  • The vision encoder, since our recommended usage does not involve multimodality.

Updates compared with Magistral Small 1.1#

  • Multimodality: The model now has a vision encoder and can take multimodal inputs, extending its reasoning capabilities to vision.
  • Performance upgrade: Magistral Small 1.2 should give you significatively better performance than Magistral Small 1.1 as seen in the benchmark results.
  • Better tone and persona: You should experiment better LaTeX and Markdown formatting, and shorter answers on easy general prompts.
  • Finite generation: The model is less likely to enter infinite generation loops.
  • Special think tokens: [THINK] and [/THINK] special tokens encapsulate the reasoning content in a thinking chunk. This makes it easier to parse the reasoning trace and prevents confusion when the '[THINK]' token is given as a string in the prompt.
  • Reasoning prompt: The reasoning prompt is given in the system prompt.

Key Features#

  • Reasoning: Capable of long chains of reasoning traces before providing an answer.
  • Multilingual: Supports dozens of languages, including English, French, German, Greek, Hindi, Indonesian, Italian, Japanese, Korean, Malay, Nepali, Polish, Portuguese, Romanian, Russian, Serbian, Spanish, Turkish, Ukrainian, Vietnamese, Arabic, Bengali, Chinese, and Farsi.
  • Vision: Vision capabilities enable the model to analyze images and reason based on visual content in addition to text available with our main model Magistral-Small-2509.
  • Apache 2.0 License: Open license allowing usage and modification for both commercial and non-commercial purposes.
  • Context Window: A 128k context window. Performance might degrade past 40k but Magistral should still give good results. Hence we recommend to leave the maximum model length to 128k and only lower if you encounter low performance.

Usage#

We recommend to use Magistral Small 1.2 GGUF with llama.cpp along with mistral-common >= 1.8.5 server. See here for the documentation of mistral-common server.

This recommended usage does not support vision.

Note. We do not believe we can guarantee correct behavior using the integrated, stringified chat template hence mistral-common should be used as a reference. However, we strongly encourage the community members to use this GGUF checkpoint and mistral_common as a reference implementation to build a correct integrated, stringified chat template.

Install#
  1. Install llama.cpp following their guidelines.
  2. Install mistral-common >= 1.8.5 with its dependencies.
pip install --upgrade mistral-common[server,hf-hub]
  1. Download the weights from huggingface.
pip install -U "huggingface_hub[cli]"

huggingface-cli download \
"mistralai/Magistral-Small-2509-GGUF" \
--include "Magistral-Small-2509-Q4_K_M.gguf" \
--local-dir "mistralai/Magistral-Small-2509-GGUF/"
Launch the servers#
  1. Launch the llama.cpp server
llama-server -m mistralai/Magistral-Small-2509-GGUF/Magistral-Small-2509-Q4_K_M.gguf -c 0
  1. Launch the mistral-common server and pass the url of the llama.cpp server.

This is the server that will handle tokenization and detokenization and call the llama.cpp server for generations.

mistral_common serve mistralai/Magistral-Small-2509 \
--host localhost --port 6000 \
--engine-url http://localhost:8080 --engine-backend llama_cpp \
--timeout 300
Use the model#
  1. let's define the function to call the servers:

generate: call mistral-common that will tokenizer, call the llama.cpp server to generate new tokens and detokenize the output to an AssistantMessage with think chunk and tool calls parsed.

from mistral_common.protocol.instruct.messages import AssistantMessage
from mistral_common.protocol.instruct.request import ChatCompletionRequest
from mistral_common.experimental.app.models import OpenAIChatCompletionRequest
from fastapi.encoders import jsonable_encoder
import requests

mistral_common_url = "http://127.0.0.1:6000"

def generate(
    request: dict | ChatCompletionRequest | OpenAIChatCompletionRequest, url: str
) -> AssistantMessage:
    response = requests.post(
        f"{url}/v1/chat/completions", json=jsonable_encoder(request)
    )
    if response.status_code != 200:
        raise ValueError(f"Error: {response.status_code} - {response.text}")
    return AssistantMessage(**response.json())
  1. Tokenize the input, call the model and detokenize
from typing import Any
from huggingface_hub import hf_hub_download


TEMP = 0.7
TOP_P = 0.95
MAX_TOK = 131072

def load_system_prompt(repo_id: str, filename: str) -> dict[str, Any]:
    file_path = hf_hub_download(repo_id=repo_id, filename=filename)
    with open(file_path, "r") as file:
        system_prompt = file.read()

    index_begin_think = system_prompt.find("[THINK]")
    index_end_think = system_prompt.find("[/THINK]")

    return {
        "role": "system",
        "content": [
            {"type": "text", "text": system_prompt[:index_begin_think]},
            {
                "type": "thinking",
                "thinking": system_prompt[
                    index_begin_think + len("[THINK]") : index_end_think
                ],
                "closed": True,
            },
            {
                "type": "text",
                "text": system_prompt[index_end_think + len("[/THINK]") :],
            },
        ],
    }

SYSTEM_PROMPT = load_system_prompt("mistralai/Magistral-Small-2509", "SYSTEM_PROMPT.txt")

query = "Use each number in 2,5,6,3 exactly once, along with any combination of +, -, ×, ÷ (and parentheses for grouping), to make the number 24."

messages = [SYSTEM_PROMPT, {"role": "user", "content": [{"type": "text", "text": query}]}]

request = {"messages": messages, "temperature": TEMP, "top_p": TOP_P, "max_tokens": MAX_TOK}

generated_message = generate(request, mistral_common_url)
print(generated_message)

Files

6 files · 103 GBWeights 14.3 GB (smallest of 4 GGUF variants). Sizes and sha256 from the signed manifest.
Hide all 6 files with their sha256
FileSizesha256
.gitattributes1.79 KBf22380ca1d8b95bb01f7bba58be0ff82b9a71083558ccf1005d7462487ba6b09
Magistral-Small-2509-BF16.gguf47.2 GB0d4e5604e1ee1432d48f263332c9e7a146be45950070eaaecf77f868650df0dc
Magistral-Small-2509-Q4_K_M.gguf14.3 GBd3a024d29e0e8f35d9353f5d4f08fc3715406835c8ae1328ce2f3bd212a43434
Magistral-Small-2509-Q5_K_M.gguf16.8 GBebfae8b455d37ac8a19362ec659115e225b302c950f93b13c2a4fa03d6bbc45c
Magistral-Small-2509-Q8_0.gguf25.1 GBd78f43dc517c744f65183a7f1e3abdc15a52bda352ffd6b07d544f72fb0dd7ef
README.md8.44 KBeb07eaf00cad3f8abf3d3317f97eddc8eb3bff442d700548029a870a37a06c36
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
429b90d8a8 pinned now2026-11-15 04:57 UTC6 files · 103 GB

Use it

$ fw get mistralai/Magistral-Small-2509-GGUF
# manifest sha256 679fcd99024b… · 103 GB · 6 files
$ fw verify ./Magistral-Small-2509-GGUF mistralai/Magistral-Small-2509-GGUF
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/mistralai/Magistral-Small-2509-GGUF.json --dir ./Magistral-Small-2509-GGUF $ python3 fw.py verify ./Magistral-Small-2509-GGUF ./mistralai__Magistral-Small-2509-GGUF.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mistralai/Magistral-Small-2509-GGUF --revision 429b90d8a8f0037241db6fab46a20b0f90859b03 --local-dir ./Magistral-Small-2509-GGUF
llama.cppDownload one GGUF variant (Magistral-Small-2509-Q4_K_M, 14.3 GB), then serve it.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mistralai/Magistral-Small-2509-GGUF --include "Magistral-Small-2509-Q4_K_M*" --local-dir ./Magistral-Small-2509-GGUF $ llama-server -m ./Magistral-Small-2509-GGUF/Magistral-Small-2509-Q4_K_M.gguf
OllamaMake an Ollama model from the downloaded file.
$ printf 'FROM ./Magistral-Small-2509-GGUF/Magistral-Small-2509-Q4_K_M.gguf\n' > Modelfile $ ollama create magistral-small-2509-gguf -f Modelfile

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
README.md
Text sha256
eb07eaf00cad3f8abf3d3317f97eddc8eb3bff442d700548029a870a37a06c36
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: mistralai <huggingface.co/mistralai>Newsgroups: alt.freeweights.mistralSubject: Magistral-Small-2509-GGUFDate: 2026-11-15Commit: 429b90dSigned: 2DC28CC7B26A283B ✓
Upstream
mistralai/Magistral-Small-2509-GGUF
Pinned commit
429b90d8a8f0037241db6fab46a20b0f90859b03
Manifest
Magistral-Small-2509-GGUF.json · .minisig
Manifest sha256
679fcd99024b9816816323fce16ac39340a2b15986f0297d1af816619aad0d42
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:57 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/mistralai/Magistral-Small-2509-GGUF.json $ curl -O https://freeweights.allternit.com/manifests/mistralai/Magistral-Small-2509-GGUF.json.minisig $ minisign -Vm Magistral-Small-2509-GGUF.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

mistralai/Magistral-Small-2509 · this model is a quantization of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mistralai/Magistral-Small-2509-GGUF
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. Magistral-Small-2509-GGUF.json. Provenance. Takedown history: none.
From: bartowski <huggingface.co/bartowski>Subject: alamios_Mistral-Small-3.1-DRAFT-0.5B-GGUF
From: microsoft <huggingface.co/microsoft>Subject: chatbench-mistral-7b
From: NousResearch <huggingface.co/NousResearch>Subject: DeepHermes-3-Mistral-24B-Preview
From: mistralai <huggingface.co/mistralai>Subject: Devstral-Small-2-24B-Instruct-2512
From: mlx-community <huggingface.co/mlx-community>Subject: Devstral-Small-2-24B-Instruct-2512-4bit
From: mlx-community <huggingface.co/mlx-community>Subject: Devstral-Small-2-24B-Instruct-2512-6bit