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

Magistral-Small-2507-GGUF

Date: 2026-11-15Commit: b1564b9Signed: 2DC28CC7B26A283B ✓

Model. Gguf weights, 385 GB in all. Published by unsloth under Apache-2.0.

mistral385GBMagistral-Small-2507-GGUFggufpermissive
FactsParamsnot statedSize385 GBFormatsggufTasknot taggedLicenseApache-2.0From sourcepermissive
$ fw get unsloth/Magistral-Small-2507-GGUF
# manifest sha256 1609a32bf53b… · 385 GB · 29 files
$ fw verify ./Magistral-Small-2507-GGUF unsloth/Magistral-Small-2507-GGUF
From sourceHosted (signed)unsloth/Magistral-Small-2507-GGUFLast check: 2026-11-15 04:59 UTC

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

Quantized of Magistral-Small-2507.

Works with

Convert with

Scan with

Overview

Size
385 GB
Weights
5.56 GB (smallest of 26 GGUF variants)
Parameters
not stated
Formats
gguf
Task
not tagged
License
Apache-2.0 (permissive)
Files
29, each with a sha256
Publisher
unsloth
Added
2026-11-15
Section
alt.freeweights.mistral
Lineage

Original release from the publisher.

Base model: mistralai/Magistral-Small-2507

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:59 UTCpassed

Model card

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

Learn to run Magistral correctly - Read our Guide.

Unsloth Dynamic 2.0 achieves SOTA performance in model quantization.

https://github.com/unslothai/unsloth/ https://discord.gg/unsloth https://docs.unsloth.ai/basics/magistral

Magistral Small 1.1#

Building upon Mistral Small 3.1 (2503), 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.

Learn more about Magistral in our blog post.

The model was presented in the paper Magistral.

Updates compared with Magistral Small 1.0#

Magistral Small 1.1 should give you about the same performance as Magistral Small 1.0 as seen in the benchmark results.

The update involves the following features:

  • Better tone and model behaviour. You should experiment better LaTeX and Markdown formatting, and shorter answers on easy general prompts.
  • The model is less likely to enter infinite generation loops.
  • [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.
  • The reasoning prompt is now 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.
  • Apache 2.0 License: Open license allowing usage and modification for both commercial and non-commercial purposes.
  • Context Window: A 128k context window, but performance might degrade past 40k. Hence we recommend setting the maximum model length to 40k.

Benchmark Results#

ModelAIME24 pass@1AIME25 pass@1GPQA DiamondLivecodebench (v5)
Magistral Medium 1.172.03%60.99%71.46%59.35%
Magistral Medium 1.073.59%64.95%70.83%59.36%
Magistral Small 1.170.52%62.03%65.78%59.17%
Magistral Small 1.070.68%62.76%68.18%55.84%

Sampling parameters#

Please make sure to use:

  • top_p: 0.95
  • temperature: 0.7
  • max_tokens: 40960

Basic Chat Template#

We highly recommend including the following system prompt for the best results, you can edit and customise it if needed for your specific use case.

First draft your thinking process (inner monologue) until you arrive at a response. Format your response using Markdown, and use LaTeX for any mathematical equations. Write both your thoughts and the response in the same language as the input.

Your thinking process must follow the template below:[THINK]Your thoughts or/and draft, like working through an exercise on scratch paper. Be as casual and as long as you want until you are confident to generate the response. Use the same language as the input.[/THINK]Here, provide a self-contained response.

The [THINK] and [/THINK] are special tokens that must be encoded as such.

Please make sure to use mistral-common as the source of truth. Find below examples from libraries supporting mistral-common.

We invite you to choose, depending on your use case and requirements, between keeping reasoning traces during multi-turn interactions or keeping only the final assistant response.

Usage#

The model can be used with the following frameworks;

Inference#

We recommend using this model with the vLLM library to implement production-ready inference pipelines.

Installation

Make sure you install the latest vLLM code:

pip install -U vllm \
    --pre \
    --extra-index-url https://wheels.vllm.ai/nightly

Doing so should automatically install mistral_common >= 1.8.2.

To check:

python -c "import mistral_common; print(mistral_common.__version__)"

You can also make use of a ready-to-go docker image or on the docker hub.

Serve model as follows:

vllm serve mistralai/Magistral-Small-2507 --reasoning-parser mistral --tokenizer_mode mistral --config_format mistral --load_format mistral --tool-call-parser mistral --enable-auto-tool-choice --tensor-parallel-size 2

Ping model as follows:

Python snippet

from typing import Any
from openai import OpenAI
from huggingface_hub import hf_hub_download

# Modify OpenAI's API key and API base to use vLLM's API server.
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"

TEMP = 0.7
TOP_P = 0.95
MAX_TOK = 40_960

client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)

models = client.models.list()
model = models.data[0].id

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(model, "SYSTEM_PROMPT.txt")

query = "Write 4 sentences, each with at least 8 words. Now make absolutely sure that every sentence has exactly one word less than the previous sentence."
# or try out other queries
# query = "Exactly how many days ago did the French Revolution start? Today is June 4th, 2025."
# query = "Think about 5 random numbers. Verify if you can combine them with addition, multiplication, subtraction or division to 133"
# query = "If it takes 30 minutes to dry 12 T-shirts in the sun, how long does it take to dry 33 T-shirts?"

messages = [
    SYSTEM_PROMPT,
    {"role": "user", "content": query}
]
stream = client.chat.completions.create(
  model=model,
  messages=messages,
  stream=True,
  temperature=TEMP,
  top_p=TOP_P,
  max_tokens=MAX_TOK,
)

print("client: Start streaming chat completions...:\n")
printed_reasoning_content = False
answer = []

for chunk in stream:
    reasoning_content = None
    content = None
    # Check the content is reasoning_content or content
    if hasattr(chunk.choices[0].delta, "reasoning_content"):
        reasoning_content = chunk.choices[0].delta.reasoning_content
    elif hasattr(chunk.choices[0].delta, "content"):
        content = chunk.choices[0].delta.content

    if reasoning_content is not None:
        if not printed_reasoning_content:
            printed_reasoning_content = True
            print("Start reasoning:\n", end="", flush=True)
        print(reasoning_content, end="", flush=True)
    elif content is not None:
        # Extract and print the content
        if not reasoning_content and printed_reasoning_content:
            answer.extend(content)
        print(content, end="", flush=True)

if answer:
    print("\n\n=============\nAnswer\n=============\n")
    print("".join(answer))
else:
    print("\n\n=============\nNo Answer\n=============\n")
    print("No answer was generated by the model, probably because the maximum number of tokens was reached.")

# client: Start streaming chat completions...:
#
# Start reasoning:
# First, I need to write ...
# ...
#
#
# =============
# Answer
# =============
# 
# Here are four sentences where each has at least 8 words, and each subsequent sentence has exactly one word less than the previous one:

# 1. The quick brown fox jumps over the lazy dog and rests.
# 2. The lazy dog rests under the big shady tree peacefully.
# 3. The big shady tree provides ample shade during summer.
# 4. The tree's leaves are very lush and green.
Transformers#

Make sure you install the latest Transformers code:

pip install git+https://github.com/huggingface/transformers

Also make sure to install mistral_common >= 1.8.2:

pip install --upgrade mistral-common

To check:

python -c "import mistral_common; print(mistral_common.__version__)"

Now you can use Transformers with Magistral:

Python snippet

from typing import Any
import torch

from huggingface_hub import hf_hub_download
from transformers import AutoModelForCausalLM, AutoTokenizer


TEMP = 0.7
TOP_P = 0.95
MAX_TOK = 40_960

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]") :],
            },
        ],
    }


model_id = "mistralai/Magistral-Small-2507"
SYSTEM_PROMPT = load_system_prompt(model_id, "SYSTEM_PROMPT.txt")
query = "Think about 5 random numbers. Verify if you can combine them with addition, multiplication, subtraction or division to 133."
# or try out other queries
# query = "Exactly how many days ago did the French Revolution start? Today is June 4th, 2025."
# query = "Write 4 sentences, each with at least 8 words. Now make absolutely sure that every sentence has exactly one word less than the previous sentence."
# query = "If it takes 30 minutes to dry 12 T-shirts in the sun, how long does it take to dry 33 T-shirts?"



tokenizer = AutoTokenizer.from_pretrained(model_id, tokenizer_type="mistral", use_fast=False)
model = AutoModelForCausalLM.from_pretrained(
    model_id, torch_dtype=torch.bfloat16, device_map="auto"
)

input_ids = tokenizer.apply_chat_template(
    [
        SYSTEM_PROMPT,
        {"role": "user", "content": query},
    ],
)

output = model.generate(
    input_ids=torch.tensor([input_ids], device=model.device),
    pad_token_id=tokenizer.pad_token_id,
    eos_token_id=tokenizer.eos_token_id,
    temperature=TEMP,
    top_p=TOP_P,
    do_sample=True,
    max_new_tokens=MAX_TOK,
)[0]

decoded_output = tokenizer.decode(output[len(input_ids) :])
print(decoded_output)

# [THINK]Alright, I need to think of 5 random numbers first. Let's say I pick the numbers 5, 10, 2, 7, and 3.
# 
# Now, I need to see if I can combine these numbers using addition, multiplication, subtraction, or division to get 133.
# ...
# ...
# ...
# But if we're to find any five numbers that can be combined to make 133, then yes, such sets exist, like the one demonstrated above.[/THINK]Yes, it is possible to combine some sets of five random numbers to make 133 using basic arithmetic operations. For example, the numbers 13, 10, 1, 2, and 3 can be combined as follows to make 133:
# 
# \[ (13 \times 10) + (3 \times (2 - 1)) = 130 + 3 = 133 \]
# 
# However, not all sets of five random numbers can be combined in this way to make 133. For instance, with the numbers 5, 10, 2, 7, and 3, it is not possible to combine them using the allowed operations to get exactly 133.
# 
# Therefore, the ability to combine five random numbers to make 133 depends on the specific numbers chosen.
# 
# $133 = (13 \times 10) + (3 \times (2 - 1))$</s>

Files

29 files · 385 GBWeights 5.56 GB (smallest of 26 GGUF variants). Sizes and sha256 from the signed manifest.
Show all 29 files with their sha256
FileSizesha256
.gitattributes3.11 KBc5cfdf8cad1c74f5186ccc6987269639e9e12ed169400317a0e484d7a29200a0
Magistral-Small-2507-BF16.gguf47.2 GB5b219eca9f44ec80882d36c170874b08f5a7ed704ca5c156b7545421929a9b29
Magistral-Small-2507-IQ4_NL.gguf13.5 GB6ce4bf275c2279950bf1b90c2ce56bde90f4d9137bbf6b91378bca2607b5846b
Magistral-Small-2507-IQ4_XS.gguf12.8 GB28f71f657f8a157518b1e221773df33d86b0374428906422b2be5fcd0ca76c18
Magistral-Small-2507-Q2_K.gguf8.89 GBe5d3e2371a5d2cb4a21485b1e56ed49a857854b2602e11fac58488638561310e
Magistral-Small-2507-Q2_K_L.gguf9.05 GBf926fcd80c543fb58c0374574230f57ae11f5c2ac5cc1c70bdd9dab254b58da3
Magistral-Small-2507-Q3_K_M.gguf11.5 GBdd8bb1a9e94ee4a5b8b1a0b5a5347ff3ffcf3822bbac49f9bd3c996b6e901469
Magistral-Small-2507-Q3_K_S.gguf10.4 GB48e769640e88abb909a72f7a53f9fe72b996f1db5979e198581f628477bf3364
Magistral-Small-2507-Q4_0.gguf13.5 GB43222617672ef10d856a6784bd0eda1675d243342d79f4a51ea85ab1f1f465f2
Magistral-Small-2507-Q4_1.gguf14.9 GBc8a6e1c3add99044b66d0956f62858d21ae1a6f5e783b03f8ace725b747cf870
Magistral-Small-2507-Q4_K_M.gguf14.3 GBbffb7d31073fbd9f8c00f210c8d3930a0464b1d5d562dcffebc76b6efecc8d32
Magistral-Small-2507-Q4_K_S.gguf13.5 GB59ebcb5f53e6c7fd1cb3a5e174e333fe44fb1849889ec8791e753818a0e43d19
Magistral-Small-2507-Q5_K_M.gguf16.8 GB97f99a4101cf6343724cfe9c11bfda65ffd56c1c895f0ac555847982536cfa34
Magistral-Small-2507-Q5_K_S.gguf16.3 GB98bf63cbec20a5b8559621f8613ee9dfdf68772e200b5241e0fab8759d6dac3f
Magistral-Small-2507-Q6_K.gguf19.3 GBd70fc505a9804c914bbda93895580b7af6a6002eedff3b7e87c7c790e3595922
Magistral-Small-2507-Q8_0.gguf25.1 GBc016e6dbc17f420017322ae24ea4adbee1a69100fbab3815adc6a5422863f518
Magistral-Small-2507-UD-IQ1_M.gguf6.02 GBca93bd2bd946038e8d6805d3508e953acda3f8446af5ca6452fa23ed2c512bac
Magistral-Small-2507-UD-IQ1_S.gguf5.56 GB6ad16a77ee957d09b7e59263ec5e2719c179c60c9aa4ad759f8c7d3b0e3481d1
Magistral-Small-2507-UD-IQ2_M.gguf8.24 GB43a7e1be0f7c0095c763ac62571241fe1bc9f68c487eddbbd558625204628d90
Magistral-Small-2507-UD-IQ2_XXS.gguf6.75 GB77073018a49ac0e748229eceb9503210cbc40ab1672d702ec8c0e13866d7c2df
Magistral-Small-2507-UD-IQ3_XXS.gguf9.41 GB254ff41fcbceea4da3bfc06fe05761a563be89b6ca801dcd31d3b1d71a0596a6
Magistral-Small-2507-UD-Q2_K_XL.gguf9.29 GBd919b33aae25466038eadd595e25dc3aae4572044ad74d71bdb56abab9a14a27
Magistral-Small-2507-UD-Q3_K_XL.gguf11.9 GBb1525aab6e689458a3caefa962143dc6a086174337b19980827845d57e969c9c
Magistral-Small-2507-UD-Q4_K_XL.gguf14.5 GB80fbb6b283d0cc976a6262cf7c2533f9f6790b71f0987a711548cd4eefc8eb16
Magistral-Small-2507-UD-Q5_K_XL.gguf16.8 GB125fb47625dca182b41b5ce391b908c3c5855e11e8932aa6ce3701bf465c43ec
Magistral-Small-2507-UD-Q6_K_XL.gguf20.8 GBf0bb387c3e0295bb7f3d123f78c412fee3d7294f532b1afd82d0a9946b2075f1
Magistral-Small-2507-UD-Q8_K_XL.gguf29.0 GBf2eb4e767245c0d93023898de3560338ccdd79b8ecb48416616e0f55992e0249
README.md14.5 KBa53899f1b81e18b98263e84411274e331c632e51ac432cbc650a2f81b437dd21
imatrix_unsloth.dat10.0 MB7f65db83050627a1fc7ffc4554b8f50bb9816dd71adbf32a0ae498443822af7f
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
b1564b9529 pinned now2026-11-15 04:59 UTC29 files · 385 GB

Use it

$ fw get unsloth/Magistral-Small-2507-GGUF
# manifest sha256 1609a32bf53b… · 385 GB · 29 files
$ fw verify ./Magistral-Small-2507-GGUF unsloth/Magistral-Small-2507-GGUF
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/unsloth/Magistral-Small-2507-GGUF.json --dir ./Magistral-Small-2507-GGUF $ python3 fw.py verify ./Magistral-Small-2507-GGUF ./unsloth__Magistral-Small-2507-GGUF.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/Magistral-Small-2507-GGUF --revision b1564b95293ee308b49273322bfc5dda329b0297 --local-dir ./Magistral-Small-2507-GGUF
llama.cppDownload one GGUF variant (Magistral-Small-2507-UD-IQ1_S, 5.56 GB), then serve it.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/Magistral-Small-2507-GGUF --include "Magistral-Small-2507-UD-IQ1_S*" --local-dir ./Magistral-Small-2507-GGUF $ llama-server -m ./Magistral-Small-2507-GGUF/Magistral-Small-2507-UD-IQ1_S.gguf
OllamaMake an Ollama model from the downloaded file.
$ printf 'FROM ./Magistral-Small-2507-GGUF/Magistral-Small-2507-UD-IQ1_S.gguf\n' > Modelfile $ ollama create magistral-small-2507-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
a53899f1b81e18b98263e84411274e331c632e51ac432cbc650a2f81b437dd21
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: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.mistralSubject: Magistral-Small-2507-GGUFDate: 2026-11-15Commit: b1564b9Signed: 2DC28CC7B26A283B ✓
Upstream
unsloth/Magistral-Small-2507-GGUF
Pinned commit
b1564b95293ee308b49273322bfc5dda329b0297
Manifest
Magistral-Small-2507-GGUF.json · .minisig
Manifest sha256
1609a32bf53bc8dfe883d50746541ec7b55a9599d16120b8caf058f209c307aa
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:59 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

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