alt.freeweights.mistral / Mistral-Small-4-119B-2603-eagle
From: mistralai <huggingface.co/mistralai>Newsgroups: alt.freeweights.mistralSubject:

Mistral-Small-4-119B-2603-eagle

Date: 2026-11-15Commit: 9a8ea22Signed: 2DC28CC7B26A283B ✓

Model. Safetensors weights, 408 MB in all. Published by mistralai under Apache-2.0.

mistral408MBMistral-Small-4-119B-2603-eaglesafetensorspermissive
FactsParamsnot statedSize408 MBFormatssafetensorsTasknot taggedLicenseApache-2.0From sourcepermissive
$ fw get mistralai/Mistral-Small-4-119B-2603-eagle
# manifest sha256 779f1d5e87f0… · 408 MB · 6 files
$ fw verify ./Mistral-Small-4-119B-2603-eagle mistralai/Mistral-Small-4-119B-2603-eagle
From sourceHosted (signed)mistralai/Mistral-Small-4-119B-2603-eagleLast check: 2026-11-15 03:46 UTC

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

Fine-tune of Mistral-Small-4-119B-2603.

Works with

Runs with

Ranked by fit to this model (safetensors), then by GitHub stars.

Overview

Size
408 MB
Weights
392 MB (safetensors)
Parameters
not stated
Formats
safetensors
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/Mistral-Small-4-119B-2603

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

Model card

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

Mistral Small 4 119B A6B Eagle#

Mistral Small 4 is a powerful hybrid model capable of acting as both a general instruction model and a reasoning model. It unifies the capabilities of three different model families—Instruct, Reasoning (previously called Magistral), and Devstral—into a single, unified model.

With its multimodal capabilities, efficient architecture, and flexible mode switching, it is a powerful general-purpose model for any task. In a latency-optimized setup, Mistral Small 4 achieves a 40% reduction in end-to-end completion time, and in a throughput-optimized setup, it handles 3x more requests per second compared to Mistral Small 3.

Key Features#

Mistral Small 4 includes the following architectural choices:

  • MoE: 128 experts, 4 active.
  • 119B parameters, with 6.5B activated per token.
  • 256k context length.
  • Multimodal input: Accepts both text and image input, with text output.
  • Instruct and Reasoning functionalities with function calls (reasoning effort configurable per request).

Mistral Small 4 offers the following capabilities:

  • Reasoning Mode: Toggle between fast instant reply mode and reasoning mode, boosting performance with test-time compute when requested.
  • Vision: Analyzes images and provides 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, and Arabic.
  • System Prompt: Strong adherence and support for system prompts.
  • Agentic: Best-in-class agentic capabilities with native function calling and JSON output.
  • Speed-Optimized: Delivers best-in-class performance and speed.
  • Apache 2.0 License: Open-source license for both commercial and non-commercial use.
  • Large Context Window: Supports a 256k context window.

Use Cases#

Mistral Small 4 is designed for general chat assistants, coding, agentic tasks, and reasoning tasks (with reasoning mode toggled). Its multimodal capabilities also enable document and image understanding for data extraction and analysis.

Its capabilities are ideal for:

  • Developers interested in coding and agentic capabilities for SWE automation and codebase exploration.
  • Enterprises seeking general chat assistants, agents, and document understanding.
  • Researchers leveraging its math and research capabilities.

Mistral Small 4 is also well-suited for customization and fine-tuning for more specialized tasks.

  • Reasoning Effort:
    • 'none' → Do not use reasoning
    • 'high' → Use reasoning (recommended for complex prompts) Use reasoning_effort="high" for complex tasks
  • Temperature: 0.7 for reasoning_effort="high". Temp between 0.0 and 0.7 for reasoning_effort="none" depending on task.
Examples#
  • General chat assistant
  • Document parsing and extraction
  • Coding agent
  • Research assistant
  • Customization & fine-tuning
  • And more...

Usage (vLLM)#

We recommend using Mistral Small 4 Eagle with the vLLM library for production-ready inference.

Installation#
  1. Install vLLM nightly
   uv pip install -U vllm \
    --torch-backend=auto \
    --extra-index-url https://wheels.vllm.ai/nightly
  1. Install transformers from main:
   uv pip install git+https://github.com/huggingface/transformers.git

Ensure mistral_common >= 1.10.0 is installed:

python -c "import mistral_common; print(mistral_common.__version__)"
Serve the Model#

We recommend a server/client setup:

vllm serve mistralai/Mistral-Small-4-119B-2603 --max-model-len 262144 --tensor-parallel-size 2 --attention-backend FLASH_ATTN_MLA \
  --tool-call-parser mistral --enable-auto-tool-choice --reasoning-parser mistral --max_num_batched_tokens 16384 --max_num_seqs 128 \
  --gpu_memory_utilization 0.8 --speculative_config '{
    "model": "mistralai/Mistral-Small-4-119B-2603-eagle",
    "num_speculative_tokens": 3,
    "method": "eagle",
    "max_model_len": "65536"
  }'
Ping the Server#

Instruction Following

Mistral Small 4 can follow your instructions to the letter.

from datetime import datetime, timedelta

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.1

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) -> str:
    file_path = hf_hub_download(repo_id=repo_id, filename=filename)
    with open(file_path, "r") as file:
        system_prompt = file.read()
    today = datetime.today().strftime("%Y-%m-%d")
    yesterday = (datetime.today() - timedelta(days=1)).strftime("%Y-%m-%d")
    model_name = repo_id.split("/")[-1]
    return system_prompt.format(name=model_name, today=today, yesterday=yesterday)


SYSTEM_PROMPT = load_system_prompt(model, "SYSTEM_PROMPT.txt")

messages = [
    {"role": "system", "content": SYSTEM_PROMPT},
    {
        "role": "user",
        "content": "Write me a sentence where every word starts with the next letter in the alphabet - start with 'a' and end with 'z'.",
    },
]

response = client.chat.completions.create(
    model=model,
    messages=messages,
    temperature=TEMP,
    reasoning_effort="none",
)

assistant_message = response.choices[0].message.content
print(assistant_message)

Tool Call

Let's solve some equations thanks to our simple Python calculator tool.

import json
from datetime import datetime, timedelta

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.1

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) -> str:
    file_path = hf_hub_download(repo_id=repo_id, filename=filename)
    with open(file_path, "r") as file:
        system_prompt = file.read()
    today = datetime.today().strftime("%Y-%m-%d")
    yesterday = (datetime.today() - timedelta(days=1)).strftime("%Y-%m-%d")
    model_name = repo_id.split("/")[-1]
    return system_prompt.format(name=model_name, today=today, yesterday=yesterday)


SYSTEM_PROMPT = load_system_prompt(model, "SYSTEM_PROMPT.txt")

image_url = "https://math-coaching.com/img/fiche/46/expressions-mathematiques.jpg"


def my_calculator(expression: str) -> str:
    return str(eval(expression))


tools = [
    {
        "type": "function",
        "function": {
            "name": "my_calculator",
            "description": "A calculator that can evaluate a mathematical expression.",
            "parameters": {
                "type": "object",
                "properties": {
                    "expression": {
                        "type": "string",
                        "description": "The mathematical expression to evaluate.",
                    },
                },
                "required": ["expression"],
            },
        },
    },
    {
        "type": "function",
        "function": {
            "name": "rewrite",
            "description": "Rewrite a given text for improved clarity",
            "parameters": {
                "type": "object",
                "properties": {
                    "text": {
                        "type": "string",
                        "description": "The input text to rewrite",
                    }
                },
            },
        },
    },
]

messages = [
    {"role": "system", "content": SYSTEM_PROMPT},
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "Thanks to your calculator, compute the results for the equations that involve numbers displayed in the image.",
            },
            {
                "type": "image_url",
                "image_url": {
                    "url": image_url,
                },
            },
        ],
    },
]

response = client.chat.completions.create(
    model=model,
    messages=messages,
    temperature=TEMP,
    tools=tools,
    tool_choice="auto",
    reasoning_effort="none",
)

tool_calls = response.choices[0].message.tool_calls

results = []
for tool_call in tool_calls:
    function_name = tool_call.function.name
    function_args = tool_call.function.arguments
    if function_name == "my_calculator":
        result = my_calculator(**json.loads(function_args))
        results.append(result)

messages.append({"role": "assistant", "tool_calls": tool_calls})
for tool_call, result in zip(tool_calls, results):
    messages.append(
        {
            "role": "tool",
            "tool_call_id": tool_call.id,
            "name": tool_call.function.name,
            "content": result,
        }
    )


response = client.chat.completions.create(
    model=model,
    messages=messages,
    temperature=TEMP,
    reasoning_effort="none",
)

print(response.choices[0].message.content)

Vision Reasoning

Let's see if the Mistral Small 4 knows when to pick a fight !

from datetime import datetime, timedelta

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

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) -> str:
    file_path = hf_hub_download(repo_id=repo_id, filename=filename)
    with open(file_path, "r") as file:
        system_prompt = file.read()
    today = datetime.today().strftime("%Y-%m-%d")
    yesterday = (datetime.today() - timedelta(days=1)).strftime("%Y-%m-%d")
    model_name = repo_id.split("/")[-1]
    return system_prompt.format(name=model_name, today=today, yesterday=yesterday)


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 = [
    {"role": "system", "content": 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}},
        ],
    },
]


response = client.chat.completions.create(
    model=model,
    messages=messages,
    temperature=TEMP,
    reasoning_effort="high",
)

print(response.choices[0].message.content)

License#

This model is licensed under the Apache 2.0 License.

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

Files

6 files · 408 MBWeights 392 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 6 files with their sha256
FileSizesha256
.gitattributes1.57 KBa1533fad1fb49e1230aff61a60028ea63bc924b4cc4501447351b50b9c840683
README.md11.8 KB320248f2d312481711c37c87ee8b90d0a7546e8a753b93e78d6b20624a15b5ba
chat_template.jinja15.2 KBde56319deee1deb2b88cf576cf20bdc57a8789723f7ff75f9c54acd740d15ecb
consolidated.safetensors392 MBfe26a882ffbafe23c72d7f043db436934696ed3a1a6ee4b1768cdd13261b3f7e
params.json725 B0d209156458dcede321bf14eda60107059d21cacbb9e66fc95453eaef7036d74
tekken.json16.3 MBb1272b956bd6edd2d2c674c76896c7661308c9e723997b0afb55ecb429cb5dc7
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
9a8ea22dca pinned now2026-11-15 03:46 UTC6 files · 408 MB

Use it

$ fw get mistralai/Mistral-Small-4-119B-2603-eagle
# manifest sha256 779f1d5e87f0… · 408 MB · 6 files
$ fw verify ./Mistral-Small-4-119B-2603-eagle mistralai/Mistral-Small-4-119B-2603-eagle
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/mistralai/Mistral-Small-4-119B-2603-eagle.json --dir ./Mistral-Small-4-119B-2603-eagle $ python3 fw.py verify ./Mistral-Small-4-119B-2603-eagle ./mistralai__Mistral-Small-4-119B-2603-eagle.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mistralai/Mistral-Small-4-119B-2603-eagle --revision 9a8ea22dca0161ff7af7879f4a0000f65314797d --local-dir ./Mistral-Small-4-119B-2603-eagle

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
320248f2d312481711c37c87ee8b90d0a7546e8a753b93e78d6b20624a15b5ba
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: Mistral-Small-4-119B-2603-eagleDate: 2026-11-15Commit: 9a8ea22Signed: 2DC28CC7B26A283B ✓
Upstream
mistralai/Mistral-Small-4-119B-2603-eagle
Pinned commit
9a8ea22dca0161ff7af7879f4a0000f65314797d
Manifest
Mistral-Small-4-119B-2603-eagle.json · .minisig
Manifest sha256
779f1d5e87f0c9b874b28b502418fa163a21f677445b0aced8692079d5cffccb
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:46 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/mistralai/Mistral-Small-4-119B-2603-eagle.json $ curl -O https://freeweights.allternit.com/manifests/mistralai/Mistral-Small-4-119B-2603-eagle.json.minisig $ minisign -Vm Mistral-Small-4-119B-2603-eagle.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/Mistral-Small-4-119B-2603 · this model is a finetune 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/Mistral-Small-4-119B-2603-eagle
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. Mistral-Small-4-119B-2603-eagle.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