alt.freeweights.mistral / Ministral-3-14B-Reasoning-2512-GGUF
From: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.mistralSubject:

Ministral-3-14B-Reasoning-2512-GGUF

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

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

mistral227GBMinistral-3-14B-Reasoning-2512-GGUFggufpermissive
FactsParamsnot statedSize227 GBFormatsggufTasknot taggedLicenseApache-2.0From sourcepermissive
$ fw get unsloth/Ministral-3-14B-Reasoning-2512-GGUF
# manifest sha256 36367feae6d7… · 227 GB · 32 files
$ fw verify ./Ministral-3-14B-Reasoning-2512-GGUF unsloth/Ministral-3-14B-Reasoning-2512-GGUF
From sourceHosted (signed)unsloth/Ministral-3-14B-Reasoning-2512-GGUFLast check: 2026-11-15 04:46 UTC

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

Quantized of Ministral-3-14B-Reasoning-2512.

Works with

Convert with

Scan with

Overview

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

Original release from the publisher.

Base model: mistralai/Ministral-3-14B-Reasoning-2512

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

Model card

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

See our Ministral 3 collection for all versions including GGUF, 4-bit & FP8 formats.

Learn to run Ministral correctly - Read our Guide.

See Unsloth Dynamic 2.0 GGUFs for our quantization benchmarks.

https://github.com/unslothai/unsloth/ https://discord.gg/unsloth https://docs.unsloth.ai/new/ministral-3

✨ Read our Ministral 3 Guide here!#


Ministral 3 14B Reasoning 2512#

The largest model in the Ministral 3 family, Ministral 3 14B offers frontier capabilities and performance comparable to its larger Mistral Small 3.2 24B counterpart. A powerful and efficient language model with vision capabilities.

This model is the reasoning post-trained version, trained for reasoning tasks, making it ideal for math, coding and stem related use cases.

The Ministral 3 family is designed for edge deployment, capable of running on a wide range of hardware. Ministral 3 14B can even be deployed locally, capable of fitting in 32GB of VRAM in BF16, and less than 24GB of RAM/VRAM when quantized.

Key Features#

Ministral 3 14B consists of two main architectural components:

  • 13.5B Language Model
  • 0.4B Vision Encoder

The Ministral 3 14B Reasoning model offers the following capabilities:

  • Vision: Enables the model to analyze images and provide insights based on visual content, in addition to text.
  • Multilingual: Supports dozens of languages, including English, French, Spanish, German, Italian, Portuguese, Dutch, Chinese, Japanese, Korean, Arabic.
  • System Prompt: Maintains strong adherence and support for system prompts.
  • Agentic: Offers best-in-class agentic capabilities with native function calling and JSON outputting.
  • Reasoning: Excels at complex, multi-step reasoning and dynamic problem-solving.
  • Edge-Optimized: Delivers best-in-class performance at a small scale, deployable anywhere.
  • Apache 2.0 License: Open-source license allowing usage and modification for both commercial and non-commercial purposes.
  • Large Context Window: Supports a 256k context window.
Use Cases#

Private AI deployments where advanced capabilities meet practical hardware constraints:

  • Private/custom chat and AI assistant deployments in constrained environments
  • Advanced local agentic use cases
  • Fine-tuning and specialization
  • And more...

Bringing advanced AI capabilities to most environments.

Ministral 3 Family#

Model NameTypePrecisionLink
Ministral 3 3B Base 2512Base pre-trainedBF16Hugging Face
Ministral 3 3B Instruct 2512Instruct post-trainedFP8Hugging Face
Ministral 3 3B Reasoning 2512Reasoning capableBF16Hugging Face
Ministral 3 8B Base 2512Base pre-trainedBF16Hugging Face
Ministral 3 8B Instruct 2512Instruct post-trainedFP8Hugging Face
Ministral 3 8B Reasoning 2512Reasoning capableBF16Hugging Face
Ministral 3 14B Base 2512Base pre-trained**BF16Hugging Face
Ministral 3 14B Instruct 2512Instruct post-trainedFP8Hugging Face
Ministral 3 14B Reasoning 2512Reasoning capableBF16Hugging Face

Other formats available here.

Benchmark Results#

We compare Ministral 3 to similar sized models.

Reasoning#
ModelAIME25AIME24GPQA DiamondLiveCodeBench
Ministral 3 14B0.8500.8980.7120.646
Qwen3-14B (Thinking)0.7370.8370.6630.593
Ministral 3 8B0.7870.8600.6680.616
Qwen3-VL-8B-Thinking0.7980.8600.6710.580
Ministral 3 3B0.7210.7750.5340.548
Qwen3-VL-4B-Thinking0.6970.7290.6010.513
Instruct#
ModelArena HardWildBenchMATH Maj@1MM MTBench
Ministral 3 14B0.55168.50.9048.49
Qwen3 14B (Non-Thinking)0.42765.10.870NOT MULTIMODAL
Gemma3-12B-Instruct0.43663.20.8546.70
Ministral 3 8B0.50966.80.8768.08
Qwen3-VL-8B-Instruct0.52866.30.9468.00
Ministral 3 3B0.30556.80.8307.83
Qwen3-VL-4B-Instruct0.43856.80.9008.01
Qwen3-VL-2B-Instruct0.16342.20.7866.36
Gemma3-4B-Instruct0.31849.10.7595.23
Base#
ModelMultilingual MMLUMATH CoT 2-ShotAGIEval 5-shotMMLU Redux 5-shotMMLU 5-shotTriviaQA 5-shot
Ministral 3 14B0.7420.6760.6480.8200.7940.749
Qwen3 14B Base0.7540.6200.6610.8370.8040.703
Gemma 3 12B Base0.6900.4870.5870.7660.7450.788
Ministral 3 8B0.7060.6260.5910.7930.7610.681
Qwen 3 8B Base0.7000.5760.5960.7940.7600.639
Ministral 3 3B0.6520.6010.5110.7350.7070.592
Qwen 3 4B Base0.6770.4050.5700.7590.7130.530
Gemma 3 4B Base0.5160.2940.4300.6260.5890.640

Usage#

The model can be used with the following frameworks;

vLLM#

We recommend using this model with vLLM.

Installation#

Make sure to install vLLM >= 0.12.0:

pip install vllm --upgrade

Doing so should automatically install mistral_common >= 1.8.6.

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#

To fully exploit the Ministral-3-14B-Reasoning-2512 we recommed using 2xH200 GPUs for deployment due to its large context. However if you don't need a large context, you can fall back to a single GPU.

A simple launch command is:


vllm serve mistralai/Ministral-3-14B-Reasoning-2512-FP8 \
  --tensor-parallel-size 2 \
  --enable-auto-tool-choice --tool-call-parser mistral \
  --reasoning-parser mistral

Key parameter notes:

  • enable-auto-tool-choice: Required when enabling tool usage.
  • tool-call-parser mistral: Required when enabling tool usage.
  • reasoning-parser mistral: Required when enabling reasoning.

Additional flags:

  • You can set --max-model-len to preserve memory. By default it is set to 262144 which is quite large but not necessary for most scenarios.
  • You can set --max-num-batched-tokens to balance throughput and latency, higher means higher throughput but higher latency.
Usage of the model#

Here we asumme that the model mistralai/Ministral-3-8B-Reasoning-2512 is served and you can ping it to the domain localhost with the port 8000 which is the default for vLLM.

Vision Reasoning

Let's see if the Ministral 3 model knows when to pick a fight !

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 = 262144
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")

image_url = "https://static.wikia.nocookie.net/essentialsdocs/images/7/70/Battle.png/revision/latest?cb=20220523172438"

messages = [
    SYSTEM_PROMPT,
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "What action do you think I should take in this situation? List all the possible actions and explain why you think they are good or bad.",
            },
            {"type": "image_url", "image_url": {"url": image_url}},
        ],
    },
]


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
    if 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."
    )

Now we'll make it compute some maths !

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 = 262144
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")

image_url = "https://i.ytimg.com/vi/5Y3xLHeyKZU/hqdefault.jpg"

messages = [
    SYSTEM_PROMPT,
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "Solve the equations. If they contain only numbers, use your calculator, else only think. Answer in the language of the image.",
            },
            {"type": "image_url", "image_url": {"url": image_url}},
        ],
    },
]

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
    if 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)
    if 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."
    )

Text-Only Request

Let's do more maths and leave it up to the model to figure out how to achieve a result.

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 = 262144
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 = "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": 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
    if 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)
    if 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.")
Transformers#

You can also use Ministral 3 3B Reasoning 2512 with Transformers ! Make sure to install Transformers from its first v5 release candidate or from "main":

pip install transformers==5.0.0rc0

To make the best use of our model with Transformers make sure to have installed mistral-common >= 1.8.6 to use our tokenizer.

pip install mistral-common --upgrade

Then load our tokenizer along with the model and generate:

Python snippet

import torch
from transformers import Mistral3ForConditionalGeneration, MistralCommonBackend

model_id = "mistralai/Ministral-3-14B-Reasoning-2512"

tokenizer = MistralCommonBackend.from_pretrained(model_id)
model = Mistral3ForConditionalGeneration.from_pretrained(
    model_id, torch_dtype=torch.bfloat16, device_map="auto"
)

image_url = "https://static.wikia.nocookie.net/essentialsdocs/images/7/70/Battle.png/revision/latest?cb=20220523172438"

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "What action do you think I should take in this situation? List all the possible actions and explain why you think they are good or bad.",
            },
            {"type": "image_url", "image_url": {"url": image_url}},
        ],
    },
]

tokenized = tokenizer.apply_chat_template(messages, return_tensors="pt", return_dict=True)

tokenized["input_ids"] = tokenized["input_ids"].to(device="cuda")
tokenized["pixel_values"] = tokenized["pixel_values"].to(dtype=torch.bfloat16, device="cuda")
image_sizes = [tokenized["pixel_values"].shape[-2:]]

output = model.generate(
    **tokenized,
    image_sizes=image_sizes,
    max_new_tokens=8092,
)[0]

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

License#

This model is licensed under the Apache 2.0 License.

You must not use this model in a manner that infringes, misappropriates, or otherwise violates any third party’s rights, including intellectual property rights.

Files

32 files · 227 GBWeights 3.44 GB (smallest of 26 GGUF variants). Sizes and sha256 from the signed manifest.
Show all 32 files with their sha256
FileSizesha256
.gitattributes3.82 KB99886d061863822ac12f51d6e6b17dfb40b36e70f8b7502f1765094f4cb2451c
Ministral-3-14B-Reasoning-2512-BF16.gguf27.0 GB4ed98931805a00396fc7f96e7d03f8d3b412b4c665137248a5a4a2ca11683b9f
Ministral-3-14B-Reasoning-2512-IQ4_NL.gguf7.81 GB9724f471c1097b0f07fe1c574b4402305204840f923c9693e240fcbcd52773e8
Ministral-3-14B-Reasoning-2512-IQ4_XS.gguf7.43 GBa2a9c78aa4c33cbbc96f55ac6db3f14026bdb9e2260a0f3f7083f740e543a34b
Ministral-3-14B-Reasoning-2512-Q2_K.gguf5.25 GB80368cd6830f0dfb5f015f574b8d40df1914b1fb7a228b1e18b72588fde9e763
Ministral-3-14B-Reasoning-2512-Q2_K_L.gguf5.40 GB7f03cd7c3079ffdb87c109fd1da46dca5d50471270bf31402eff9be8f5ae7f2b
Ministral-3-14B-Reasoning-2512-Q3_K_M.gguf6.68 GB9a320508eff013b8251235c9cf113db5cf274e1e1014914210ca6850f8f6f04c
Ministral-3-14B-Reasoning-2512-Q3_K_S.gguf6.07 GB49adacbe03f8934dd09b50464bcf12fb269cd009c1d85f5f0d497064b75044b6
Ministral-3-14B-Reasoning-2512-Q4_0.gguf7.81 GB25e097a70512138070acfcd3a8a7cbc3a74bb94a2084ed01b6f77bfbc8547bb7
Ministral-3-14B-Reasoning-2512-Q4_1.gguf8.58 GBcc653a1bda4835685593e3799dfb58d977715cd8c1899b5b82bef3fc827278d9
Ministral-3-14B-Reasoning-2512-Q4_K_M.gguf8.24 GBf577390559b89ebdbfe52cc234ea334649c24e6003ffa4b6a2474c5e2a47aa17
Ministral-3-14B-Reasoning-2512-Q4_K_S.gguf7.83 GB7a94c360f3dc5951a4e433963e01a61a5f551d5229fb6646486ed265beb0ad35
Ministral-3-14B-Reasoning-2512-Q5_K_M.gguf9.62 GB71dffe530be9389ec5b6f026921cdbc376cee347ba1fa695f8ae26468aceabb7
Ministral-3-14B-Reasoning-2512-Q5_K_S.gguf9.38 GBba1e29781dce9ec359fefe416dd1c8d80921e624b55dab6da61c6d507d23c557
Ministral-3-14B-Reasoning-2512-Q6_K.gguf11.1 GB754a46faed252146bb13bc9b9353b62042398953129628f7800339b857a82536
Ministral-3-14B-Reasoning-2512-Q8_0.gguf14.4 GB408749b8d9935161b48f6ff4934922e6050098c578ebf22d0b6338ce55893da2
Ministral-3-14B-Reasoning-2512-UD-IQ1_M.gguf3.67 GBf1f799058edf506b21aef6e54bdc8b320fe732fddccc72c5110c9e56a56e9b11
Ministral-3-14B-Reasoning-2512-UD-IQ1_S.gguf3.44 GBf230b22155e6f0ddc04e2f7acbf5a98c38c40e404bbe30e01dcabf2d0cb6e98d
Ministral-3-14B-Reasoning-2512-UD-IQ2_M.gguf4.91 GB4b3c102eebd0b4ebacb550aaad9adf61521ae0ca02496ae8182538f87dc767b6
Ministral-3-14B-Reasoning-2512-UD-IQ2_XXS.gguf4.06 GB929d368155032e1d20c134454df7cd6979cc5c0dbe20b1f4eb0e61f9573be9e6
Ministral-3-14B-Reasoning-2512-UD-IQ3_XXS.gguf5.49 GB9de495ae39cbea0d8f9725b92469dbe2f7a615fc7c98a6f2a72cdcad5cb93ede
Ministral-3-14B-Reasoning-2512-UD-Q2_K_XL.gguf5.53 GBec6cc3b17d3717745ae55c1b3a5c439593652a49bb1034308742d0155d143853
Ministral-3-14B-Reasoning-2512-UD-Q3_K_XL.gguf6.93 GB6941f434e977a392a793c77dc82b66d565d729d8f02e15e8ed1fa4ed05632488
Ministral-3-14B-Reasoning-2512-UD-Q4_K_XL.gguf8.37 GB381f6e188ec2689a433fda79b82986542b599662aee8fed51157d4bab74c8f72
Ministral-3-14B-Reasoning-2512-UD-Q5_K_XL.gguf9.64 GBf0770571a12f41cc32d79285dc3b90242198efe4a3705707552a66749a616abc
Ministral-3-14B-Reasoning-2512-UD-Q6_K_XL.gguf12.1 GBe5afc1fa795d602b7c8bc290dc23f4d57fa494587796c89f6a26ad2bbaa5dcf4
Ministral-3-14B-Reasoning-2512-UD-Q8_K_XL.gguf17.1 GB71230fb4dcb0a7b65c59dda9d70e390f72c414eea0b1949a1b0e781be35f9862
README.md23.7 KBc0990829423a090620f09d27547d9ef15d1df55a87c1cf1d1b8a3f89e91761b6
imatrix_unsloth.gguf_file7.42 MBe9e863ca9d85263ea17df1d3602446fcbecd45ef001e5e7138a7ebf7d2ab3c2f
mmproj-BF16.gguf879 MB5fa6458c49bc5eb28e91468c02b2a1412871aa0f822e59cda52da02d041a2123
mmproj-F16.gguf878 MBbede7910d6910471425fb31904b7aa4a2db2734dc7881b59e1be49804349ef21
mmproj-F32.gguf1.76 GB891bf262a032968f6e5b3d4e9ffc84cf6381890033c2f5204fbdf4817af4ab9b
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
2d687ca052 pinned now2026-11-15 04:46 UTC32 files · 227 GB

Use it

$ fw get unsloth/Ministral-3-14B-Reasoning-2512-GGUF
# manifest sha256 36367feae6d7… · 227 GB · 32 files
$ fw verify ./Ministral-3-14B-Reasoning-2512-GGUF unsloth/Ministral-3-14B-Reasoning-2512-GGUF
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/unsloth/Ministral-3-14B-Reasoning-2512-GGUF.json --dir ./Ministral-3-14B-Reasoning-2512-GGUF $ python3 fw.py verify ./Ministral-3-14B-Reasoning-2512-GGUF ./unsloth__Ministral-3-14B-Reasoning-2512-GGUF.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/Ministral-3-14B-Reasoning-2512-GGUF --revision 2d687ca0523d4d87469835433b53642dfae83152 --local-dir ./Ministral-3-14B-Reasoning-2512-GGUF
llama.cppDownload one GGUF variant (Ministral-3-14B-Reasoning-2512-UD-IQ1_S, 3.44 GB), then serve it.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/Ministral-3-14B-Reasoning-2512-GGUF --include "Ministral-3-14B-Reasoning-2512-UD-IQ1_S*" --local-dir ./Ministral-3-14B-Reasoning-2512-GGUF $ llama-server -m ./Ministral-3-14B-Reasoning-2512-GGUF/Ministral-3-14B-Reasoning-2512-UD-IQ1_S.gguf
OllamaMake an Ollama model from the downloaded file.
$ printf 'FROM ./Ministral-3-14B-Reasoning-2512-GGUF/Ministral-3-14B-Reasoning-2512-UD-IQ1_S.gguf\n' > Modelfile $ ollama create ministral-3-14b-reasoning-2512-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
c0990829423a090620f09d27547d9ef15d1df55a87c1cf1d1b8a3f89e91761b6
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: Ministral-3-14B-Reasoning-2512-GGUFDate: 2026-11-15Commit: 2d687caSigned: 2DC28CC7B26A283B ✓
Upstream
unsloth/Ministral-3-14B-Reasoning-2512-GGUF
Pinned commit
2d687ca0523d4d87469835433b53642dfae83152
Manifest
Ministral-3-14B-Reasoning-2512-GGUF.json · .minisig
Manifest sha256
36367feae6d73f81f1a0e45bade6a2ad27cb60649d05f8c2db19b9814efbc5a6
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:46 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/unsloth/Ministral-3-14B-Reasoning-2512-GGUF.json $ curl -O https://freeweights.allternit.com/manifests/unsloth/Ministral-3-14B-Reasoning-2512-GGUF.json.minisig $ minisign -Vm Ministral-3-14B-Reasoning-2512-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/Ministral-3-14B-Reasoning-2512 · 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/Ministral-3-14B-Reasoning-2512-GGUF
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. Ministral-3-14B-Reasoning-2512-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