Book a demo Start for free

Compare model versions

Model: cyankiwi/Devstral-Small-2-24B-Instruct-2512-AWQ-4bit

Earlier snapshot Snapshot #4150 Repository revision 9218adc (opens in a new tab) Recorded at 04 Sep 2026, 13:52 UTC Unchanged through 19 Oct 2026, 05:56 UTC
Later snapshot Snapshot #6364 Repository revision bc5b177 (opens in a new tab) Recorded at 20 Oct 2026, 07:14 UTC Unchanged through 05 Nov 2026, 06:26 UTC

Summary

Licence

Unchanged

No change

Apache-2.0 Apache-2.0

PinDiff reports the declared licence and licence files. It does not interpret licence terms.

Evidence · Observed by PinDiff

Earlier
Snapshot #4150 · revision 9218adc · Recorded at 04 Sep 2026, 13:52 UTC
Later
Snapshot #6364 · revision bc5b177 · Recorded at 20 Oct 2026, 07:14 UTC
Source
Licence tag declared in the model card metadata, observed via the Hugging Face API; licence file hashes from the repository file manifest.

Weights

Unchanged

No change

Evidence · Observed by PinDiff

Earlier
Snapshot #4150 · revision 9218adc · Recorded at 04 Sep 2026, 13:52 UTC
Later
Snapshot #6364 · revision bc5b177 · Recorded at 20 Oct 2026, 07:14 UTC
Source
Weight file hashes and sizes from the repository file manifest (Git LFS SHA256 where available). Weight files are not downloaded.

Remote code / configuration

Unchanged

No change

Remote code No No

config.json Unchanged

generation_config.json Unchanged

Evidence · Observed by PinDiff

Earlier
Snapshot #4150 · revision 9218adc · Recorded at 04 Sep 2026, 13:52 UTC
Later
Snapshot #6364 · revision bc5b177 · Recorded at 20 Oct 2026, 07:14 UTC
Source
Stored config.json and generation_config.json at each revision (trust_remote_code / auto_map), and Python file hashes from the repository file manifest.

Access / gating

Unchanged

No change

Public Public

Evidence · Observed by PinDiff

Earlier
Snapshot #4150 · revision 9218adc · Recorded at 04 Sep 2026, 13:52 UTC
Later
Snapshot #6364 · revision bc5b177 · Recorded at 20 Oct 2026, 07:14 UTC
Source
Gated and private flags observed via the Hugging Face API.

Model card

Changed

Model card modified (7 sections)

Metadata (front matter) Changed Material section +6 −7

Diff

Removed: - library_name: vllm
Added: + base_model: mistralai/Devstral-Small-2-24B-Instruct-2512
Added: + base_model_relation: quantized
Added: + extra_gated_description: If you want to learn more about how we process your personal
Added: + data, please read our <a href="https://mistral.ai/terms/">Privacy Policy</a>.
  inference: false
Removed: - base_model:
Removed: - - mistralai/Devstral-Small-2-24B-Instruct-2512
Removed: - extra_gated_description: >-
Removed: - If you want to learn more about how we process your personal data, please read
Removed: - our <a href="https://mistral.ai/terms/">Privacy Policy</a>.
Added: + library_name: vllm
Added: + license: apache-2.0
  tags:
  - mistral-common
Removed: - license: apache-2.0

Before

library_name: vllm
inference: false
base_model:
- mistralai/Devstral-Small-2-24B-Instruct-2512
extra_gated_description: >-
  If you want to learn more about how we process your personal data, please read
  our <a href="https://mistral.ai/terms/">Privacy Policy</a>.
tags:
- mistral-common
license: apache-2.0

After

base_model: mistralai/Devstral-Small-2-24B-Instruct-2512
base_model_relation: quantized
extra_gated_description: If you want to learn more about how we process your personal
  data, please read our <a href="https://mistral.ai/terms/">Privacy Policy</a>.
inference: false
library_name: vllm
license: apache-2.0
tags:
- mistral-common
Introduction Added +51 −0

Diff

Added: + <div align="left">
Added: + <a href="https://cyan.kiwi" target="_blank"><img src="https://storage.googleapis.com/cyankiwi-assets/model-card/model-card-banners-cyankiwi.png" width="800" alt="cyankiwi, the LLM inference agent for open models"></a>
Added: + </div>
Added: +
Added: + <div align="left">
Added: + <table style="border-collapse:collapse; border:none;">
Added: + <tr style="border:none;">
Added: + <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Website</b></td>
Added: + <td align="left" style="border:none; padding:4px 0;"><a href="https://cyan.kiwi/" target="_blank">cyan.kiwi</a></td>
Added: + </tr>
Added: + <tr style="border:none;">
Added: + <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Models</b></td>
Added: + <td align="left" style="border:none; padding:4px 0;"><a href="https://huggingface.co/cyankiwi" target="_blank">Hugging Face</a> · <a href="https://www.modelscope.ai/organization/cyankiwi" target="_blank">ModelScope</a></td>
Added: + </tr>
Added: + <tr style="border:none;">
Added: + <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Connect</b></td>
Added: + <td align="left" style="border:none; padding:4px 0;"><a href="https://x.com/cyankiwi_ai" target="_blank">X</a> · <a href="https://www.reddit.com/r/cyankiwi/" target="_blank">Reddit</a> · <a href="mailto:ton@cyan.kiwi">Email</a></td>
Added: + </tr>
Added: + </table>
Added: + </div>
Added: +
Added: + <br>
Added: +
Added: + <div align="left">
Added: + <img src="https://storage.googleapis.com/cyankiwi-assets/model-card/model-card-banners-awq.png" width="800" alt="cyankiwi Activation-aware Weight Quantization">
Added: + </div>
Added: +
Added: + <div align="left">
Added: + <table style="border-collapse:collapse; border:none;">
Added: + <tr style="border:none;">
Added: + <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Version</b></td>
Added: + <td align="left" style="border:none; padding:4px 0;"><a href="https://github.com/vllm-project/llm-compressor" target="_blank">llm-compressor</a></td>
Added: + </tr>
Added: + <tr style="border:none;">
Added: + <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Calibration</b></td>
Added: + <td align="left" style="border:none; padding:4px 0;"><a href="https://huggingface.co/datasets/nvidia/Llama-Nemotron-Post-Training-Dataset" target="_blank">nvidia/Llama-Nemotron-Post-Training-Dataset</a></td>
Added: + </tr>
Added: + <tr style="border:none;">
Added: + <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Model Size</b></td>
Added: + <td align="left" style="border:none; padding:4px 0;">16.07 GB</td>
Added: + </tr>
Added: + </table>
Added: + </div>
Added: +
Added: + <br>
Added: +
Added: + <p align="left">
Added: + <a href="https://cyan.kiwi/workspace?prompt=Deploy%20cyankiwi/Devstral-Small-2-24B-Instruct-2512-AWQ-4bit" target="_blank"><img src="https://storage.googleapis.com/cyankiwi-assets/model-card/model-card-button-deploy.png" width="333" alt="Deploy on cyan.kiwi private endpoints"></a>
Added: + </p>
Added: +
Added: + ---

Before

Not present in the earlier snapshot.

After

<div align="left">
  <a href="https://cyan.kiwi" target="_blank"><img src="https://storage.googleapis.com/cyankiwi-assets/model-card/model-card-banners-cyankiwi.png" width="800" alt="cyankiwi, the LLM inference agent for open models"></a>
</div>

<div align="left">
  <table style="border-collapse:collapse; border:none;">
    <tr style="border:none;">
      <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Website</b></td>
      <td align="left" style="border:none; padding:4px 0;"><a href="https://cyan.kiwi/" target="_blank">cyan.kiwi</a></td>
    </tr>
    <tr style="border:none;">
      <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Models</b></td>
      <td align="left" style="border:none; padding:4px 0;"><a href="https://huggingface.co/cyankiwi" target="_blank">Hugging Face</a> · <a href="https://www.modelscope.ai/organization/cyankiwi" target="_blank">ModelScope</a></td>
    </tr>
    <tr style="border:none;">
      <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Connect</b></td>
      <td align="left" style="border:none; padding:4px 0;"><a href="https://x.com/cyankiwi_ai" target="_blank">X</a> · <a href="https://www.reddit.com/r/cyankiwi/" target="_blank">Reddit</a> · <a href="mailto:ton@cyan.kiwi">Email</a></td>
    </tr>
  </table>
</div>

<br>

<div align="left">
  <img src="https://storage.googleapis.com/cyankiwi-assets/model-card/model-card-banners-awq.png" width="800" alt="cyankiwi Activation-aware Weight Quantization">
</div>

<div align="left">
  <table style="border-collapse:collapse; border:none;">
    <tr style="border:none;">
      <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Version</b></td>
      <td align="left" style="border:none; padding:4px 0;"><a href="https://github.com/vllm-project/llm-compressor" target="_blank">llm-compressor</a></td>
    </tr>
    <tr style="border:none;">
      <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Calibration</b></td>
      <td align="left" style="border:none; padding:4px 0;"><a href="https://huggingface.co/datasets/nvidia/Llama-Nemotron-Post-Training-Dataset" target="_blank">nvidia/Llama-Nemotron-Post-Training-Dataset</a></td>
    </tr>
    <tr style="border:none;">
      <td align="left" style="border:none; padding:4px 24px 4px 0;"><b>Model Size</b></td>
      <td align="left" style="border:none; padding:4px 0;">16.07 GB</td>
    </tr>
  </table>
</div>

<br>

<p align="left">
  <a href="https://cyan.kiwi/workspace?prompt=Deploy%20cyankiwi/Devstral-Small-2-24B-Instruct-2512-AWQ-4bit" target="_blank"><img src="https://storage.googleapis.com/cyankiwi-assets/model-card/model-card-button-deploy.png" width="333" alt="Deploy on cyan.kiwi private endpoints"></a>
</p>

---
Benchmark Results Changed +1 −1

Diff

⋯ 2 unchanged lines
  | **Devstral 2** | 123 | 72.2% | 61.3% | 32.6% |
  | **Devstral Small 2** | 24 | 68.0% | 55.7% | 22.5% |
  | | | | | |
Removed: - | GLM 4.6 | 455 | 68.0% | -- | 24.6% |
Added: + | GLM 4.6 | 355 | 68.0% | -- | 24.6% |
  | Qwen 3 Coder Plus | 480 | 69.6% | 54.7% | 25.4% |
  | MiniMax M2 | 230 | 69.4% | 56.5% | 30.0% |
  | Kimi K2 Thinking | 1000 | 71.3% | 61.1% | 35.7% |

Before

| Model/Benchmark               | Size (B Parameters) | SWE Bench Verified | SWE Bench Multilingual | Terminal Bench 2 |
|-------------------------------|-----------------|--------------------|------------------------|------------------|
| **Devstral 2**                | 123             | 72.2%              | 61.3%                  | 32.6%            |
| **Devstral Small 2**          | 24              | 68.0%              | 55.7%                  | 22.5%            |
|                               |                 |                    |                        |                  |
| GLM 4.6                       | 455             | 68.0%              | --                     | 24.6%            |
| Qwen 3 Coder Plus             | 480             | 69.6%              | 54.7%                  | 25.4%            |
| MiniMax M2                    | 230             | 69.4%              | 56.5%                  | 30.0%            |
| Kimi K2 Thinking              | 1000            | 71.3%              | 61.1%                  | 35.7%            |
| DeepSeek v3.2                 | 671             | 73.1%              | 70.2%                  | 46.4%            |
|                               |                 |                    |                        |                  |
| GPT 5.1 Codex High            | --              | 73.7%              | --                     | 52.8%            |
| GPT 5.1 Codex Max             | --              | 77.9%              | --                     | 60.4%            |
| Gemini 3 Pro                  | --              | 76.2%              | --                     | 54.2%            |
| Claude Sonnet 4.5             | --              | 77.2%              | 68.0%                  | 42.8%            |

*Benchmark results presented are based on publicly reported values for competitor models.

After

| Model/Benchmark               | Size (B Parameters) | SWE Bench Verified | SWE Bench Multilingual | Terminal Bench 2 |
|-------------------------------|-----------------|--------------------|------------------------|------------------|
| **Devstral 2**                | 123             | 72.2%              | 61.3%                  | 32.6%            |
| **Devstral Small 2**          | 24              | 68.0%              | 55.7%                  | 22.5%            |
|                               |                 |                    |                        |                  |
| GLM 4.6                       | 355             | 68.0%              | --                     | 24.6%            |
| Qwen 3 Coder Plus             | 480             | 69.6%              | 54.7%                  | 25.4%            |
| MiniMax M2                    | 230             | 69.4%              | 56.5%                  | 30.0%            |
| Kimi K2 Thinking              | 1000            | 71.3%              | 61.1%                  | 35.7%            |
| DeepSeek v3.2                 | 671             | 73.1%              | 70.2%                  | 46.4%            |
|                               |                 |                    |                        |                  |
| GPT 5.1 Codex High            | --              | 73.7%              | --                     | 52.8%            |
| GPT 5.1 Codex Max             | --              | 77.9%              | --                     | 60.4%            |
| Gemini 3 Pro                  | --              | 76.2%              | --                     | 54.2%            |
| Claude Sonnet 4.5             | --              | 77.2%              | 68.0%                  | 42.8%            |

*Benchmark results presented are based on publicly reported values for competitor models.
Local Deployment Changed +10 −7

Diff

Removed: - The model can also be deployed with the following libraries, we advise everyone to use the Mistral AI API if the model is subpar with local serving:
Added: + The model can also be deployed with the following libraries:
  - [`vllm (recommended)`](https://github.com/vllm-project/vllm): See [here](#vllm-recommended)
Added: + - [`sglang`](https://github.com/sgl-project/sglang): See [here](#sglang)
  - [`transformers`](https://github.com/huggingface/transformers): See [here](#transformers)
 
Removed: - Coming soon:
Removed: - - [`llama.cpp`](https://github.com/ggml-org/llama.cpp)
Removed: - - [`ollama`](https://ollama.com/)
Removed: - - [`lmstudio`](https://lmstudio.ai/)
 
Removed: - > [!Note]
Removed: - > Current llama.cpp/ollama/lmstudio implementations may not be accurate, we invite developers to test them via the following [prompt tests](#tests).
Added: + We're thankful to the llama.cpp team and their community as well as the LM Studio and Ollama teams that worked hard to make these models also available for their frameworks.
Added: +
Added: + You can now also run Devstral using these (alphabetical ordered) frameworks:
Added: + - [`llama.cpp`](https://github.com/ggml-org/llama.cpp): To use community ones such as [Unsloth's](https://huggingface.co/unsloth/Devstral-Small-2-24B-Instruct-2512-GGUF) or [Bartowski's](https://huggingface.co/bartowski/mistralai_Devstral-Small-2-24B-Instruct-2512-GGUF) make sure to use changes from this [PR](https://github.com/ggml-org/llama.cpp/pull/17945).
Added: + - [`LM Studio`](https://lmstudio.ai/): https://lmstudio.ai/models/devstral-2
Added: + - [`Ollama`](https://ollama.com/): https://ollama.com/library/devstral-small-2
Added: +
Added: + If you notice subpar performance with local serving, please submit issues to the relevant framework so that it can be fixed and in the meantime we advise to use the Mistral AI API.

Before

The model can also be deployed with the following libraries, we advise everyone to use the Mistral AI API if the model is subpar with local serving:
- [`vllm (recommended)`](https://github.com/vllm-project/vllm): See [here](#vllm-recommended)
- [`transformers`](https://github.com/huggingface/transformers): See [here](#transformers)

Coming soon:
- [`llama.cpp`](https://github.com/ggml-org/llama.cpp)
- [`ollama`](https://ollama.com/)
- [`lmstudio`](https://lmstudio.ai/)  

> [!Note]
> Current llama.cpp/ollama/lmstudio implementations may not be accurate, we invite developers to test them via the following [prompt tests](#tests).

After

The model can also be deployed with the following libraries:
- [`vllm (recommended)`](https://github.com/vllm-project/vllm): See [here](#vllm-recommended)
- [`sglang`](https://github.com/sgl-project/sglang): See [here](#sglang)
- [`transformers`](https://github.com/huggingface/transformers): See [here](#transformers)


We're thankful to the llama.cpp team and their community as well as the LM Studio and Ollama teams that worked hard to make these models also available for their frameworks.

You can now also run Devstral using these (alphabetical ordered) frameworks:
- [`llama.cpp`](https://github.com/ggml-org/llama.cpp): To use community ones such as [Unsloth's](https://huggingface.co/unsloth/Devstral-Small-2-24B-Instruct-2512-GGUF) or [Bartowski's](https://huggingface.co/bartowski/mistralai_Devstral-Small-2-24B-Instruct-2512-GGUF) make sure to use changes from this [PR](https://github.com/ggml-org/llama.cpp/pull/17945).
- [`LM Studio`](https://lmstudio.ai/): https://lmstudio.ai/models/devstral-2
- [`Ollama`](https://ollama.com/): https://ollama.com/library/devstral-small-2

If you notice subpar performance with local serving, please submit issues to the relevant framework so that it can be fixed and in the meantime we advise to use the Mistral AI API.
vLLM (recommended) Changed +8 −14

Diff

⋯ 5 unchanged lines
 
  **_Installation_**
 
Removed: - Please make sure to install vLLM nightly:
Added: + Please make sure to install latest vLLM:
 
  ```
Removed: - uv pip install -U vllm \
Removed: - --torch-backend=auto \
Removed: - --extra-index-url https://wheels.vllm.ai/nightly
Added: + uv pip install -U vllm
  ```
 
Removed: - Alternatively you can also directly use the nightly docker image [vllm/vllm-openai:nightly](https://hub.docker.com/layers/vllm/vllm-openai/nightly/images/sha256-a8cf9f2284a648074d6179e1d9caf74b3183536224bcf518fff73cc2b90dbc2f):
Added: + Alternatively you can also directly use the latest docker image [vllm/vllm-openai:latest](https://hub.docker.com/layers/vllm/vllm-openai/latest/):
 
  ```
Removed: - docker pull vllm/vllm-openai:nightly
Removed: - docker run -it vllm/vllm-openai:nightly
Added: + docker pull vllm/vllm-openai:latest
Added: + docker run -it vllm/vllm-openai:latest
  ```
 
Removed: - Alternatively, you can also install `vllm` from latest main by following instructions [here](https://docs.vllm.ai/en/latest/getting_started/installation/gpu/#python-only-build).
Removed: -
Removed: - > [!Warning]
Removed: - > Make sure that your vllm installation includes [this commit](https://github.com/vllm-project/vllm/commit/5c213d2899f5a2d439c8d771a0abc156a5412a2b).
Removed: - > If you do not have this commit included, you will get incorrectly parsed tool calls.
Removed: -
  Also make sure to have installed [`mistral_common >= 1.8.6`](https://github.com/mistralai/mistral-common/releases/tag/v1.8.6).
  To check:
  ```
⋯ 7 unchanged lines
  1. Spin up a server:
 
  ```
Removed: - vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 --tool-call-parser mistral --enable-auto-tool-choice --tensor-parallel-size 2
Added: + vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 \
Added: + --max-model-len 262144 --tensor-parallel-size 2 \
Added: + --tool-call-parser mistral --enable-auto-tool-choice
  ```
 
 

Before

<details>
<summary>Expand</summary

We recommend using this model with the [vLLM library](https://github.com/vllm-project/vllm)
to implement production-ready inference pipelines.

**_Installation_**

Please make sure to install vLLM nightly:

```
uv pip install -U vllm \
    --torch-backend=auto \
    --extra-index-url https://wheels.vllm.ai/nightly
```

Alternatively you can also directly use the nightly docker image [vllm/vllm-openai:nightly](https://hub.docker.com/layers/vllm/vllm-openai/nightly/images/sha256-a8cf9f2284a648074d6179e1d9caf74b3183536224bcf518fff73cc2b90dbc2f):

```
docker pull vllm/vllm-openai:nightly
docker run -it vllm/vllm-openai:nightly
```

Alternatively, you can also install `vllm` from latest main by following instructions [here](https://docs.vllm.ai/en/latest/getting_started/installation/gpu/#python-only-build).

> [!Warning]
> Make sure that your vllm installation includes [this commit](https://github.com/vllm-project/vllm/commit/5c213d2899f5a2d439c8d771a0abc156a5412a2b).
> If you do not have this commit included, you will get incorrectly parsed tool calls.

Also make sure to have installed [`mistral_common >= 1.8.6`](https://github.com/mistralai/mistral-common/releases/tag/v1.8.6).
To check:
```
python -c "import mistral_common; print(mistral_common.__version__)"
```

**_Launch server_**

We recommand that you use Devstral in a server/client setting. 

1. Spin up a server:

```
vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 --tool-call-parser mistral --enable-auto-tool-choice --tensor-parallel-size 2
```


2. To ping the client you can use a simple Python snippet.

```py
import requests
import json
from huggingface_hub import hf_hub_download


url = "http://<your-server-url>:8000/v1/chat/completions"
headers = {"Content-Type": "application/json", "Authorization": "Bearer token"}

model = "mistralai/Devstral-Small-2-24B-Instruct-2512"

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()
    return system_prompt

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

messages = [
    {"role": "system", "content": SYSTEM_PROMPT},
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "<your-command>",
            },
        ],
    },
]

28 more lines not shown.

After

<details>
<summary>Expand</summary

We recommend using this model with the [vLLM library](https://github.com/vllm-project/vllm)
to implement production-ready inference pipelines.

**_Installation_**

Please make sure to install latest vLLM:

```
uv pip install -U vllm
```

Alternatively you can also directly use the latest docker image [vllm/vllm-openai:latest](https://hub.docker.com/layers/vllm/vllm-openai/latest/):

```
docker pull vllm/vllm-openai:latest
docker run -it vllm/vllm-openai:latest
```

Also make sure to have installed [`mistral_common >= 1.8.6`](https://github.com/mistralai/mistral-common/releases/tag/v1.8.6).
To check:
```
python -c "import mistral_common; print(mistral_common.__version__)"
```

**_Launch server_**

We recommand that you use Devstral in a server/client setting. 

1. Spin up a server:

```
vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 \
    --max-model-len 262144 --tensor-parallel-size 2 \
    --tool-call-parser mistral --enable-auto-tool-choice
```


2. To ping the client you can use a simple Python snippet.

```py
import requests
import json
from huggingface_hub import hf_hub_download


url = "http://<your-server-url>:8000/v1/chat/completions"
headers = {"Content-Type": "application/json", "Authorization": "Bearer token"}

model = "mistralai/Devstral-Small-2-24B-Instruct-2512"

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()
    return system_prompt

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

messages = [
    {"role": "system", "content": SYSTEM_PROMPT},
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "<your-command>",
            },
        ],
    },
]

data = {"model": model, "messages": messages, "temperature": 0.15}

# Devstral Small 2 supports tool calling. If you want to use tools, follow this:
# tools = [ # Define tools for vLLM
#     {
#         "type": "function",

22 more lines not shown.

SGLang Added +91 −0

Diff

Added: + <details>
Added: + <summary>Expand</summary>
Added: +
Added: + To use this model with [SGLang](https://github.com/sgl-project/sglang) to implement a production-ready inference pipelines (OpenAI-compatible API server),
Added: + see the following sections.
Added: +
Added: + **_Installation_**
Added: +
Added: + Install SGLang from source (track latest `main` locally):
Added: +
Added: + ```
Added: + git clone https://github.com/sgl-project/sglang.git
Added: + cd sglang
Added: + uv pip install -e python
Added: + uv pip install transformers==5.0.0rc # required
Added: + uv pip install nvidia-cudnn-cu12==9.16.0.29 # required for VLM
Added: + ```
Added: +
Added: + **_Launch server_**
Added: +
Added: + We recommend that you use Devstral Small 2 in a server/client setting.
Added: +
Added: + 1. Spin up a server:
Added: +
Added: + ```
Added: + python -m sglang.launch_server --model-path mistralai/Devstral-Small-2-24B-Instruct-2512 --host 0.0.0.0 --port 30000 --tp 2 --tool-call-parser mistral
Added: + ```
Added: +
Added: +
Added: + 2. To ping the client you can use a simple Python snippet.
Added: +
Added: + ```py
Added: + import requests
Added: + import json
Added: + from huggingface_hub import hf_hub_download
Added: +
Added: +
Added: + url = "http://<your-server-url>:30000/v1/chat/completions"
Added: + headers = {"Content-Type": "application/json", "Authorization": "Bearer token"}
Added: +
Added: + model = "mistralai/Devstral-Small-2-24B-Instruct-2512"
Added: +
Added: + def load_system_prompt(repo_id: str, filename: str) -> str:
Added: + file_path = hf_hub_download(repo_id=repo_id, filename=filename)
Added: + with open(file_path, "r") as file:
Added: + system_prompt = file.read()
Added: + return system_prompt
Added: +
Added: + SYSTEM_PROMPT = load_system_prompt(model, "CHAT_SYSTEM_PROMPT.txt")
Added: +
Added: + messages = [
Added: + {"role": "system", "content": SYSTEM_PROMPT},
Added: + {
Added: + "role": "user",
Added: + "content": [
Added: + {
Added: + "type": "text",
Added: + "text": "<your-command>",
Added: + },
Added: + ],
Added: + },
Added: + ]
Added: +
Added: + data = {"model": model, "messages": messages, "temperature": 0.15}
Added: +
Added: + # Devstral Small 2 supports tool calling. If you want to use tools, follow this:
Added: + # tools = [ # Define tools (OpenAI-compatible)
Added: + # {
Added: + # "type": "function",
Added: + # "function": {
Added: + # "name": "git_clone",
Added: + # "description": "Clone a git repository",
Added: + # "parameters": {
Added: + # "type": "object",
Added: + # "properties": {
Added: + # "url": {
Added: + # "type": "string",
Added: + # "description": "The url of the git repository",
Added: + # },
Added: + # },
Added: + # "required": ["url"],
Added: + # },
Added: + # },
Added: + # }
Added: + # ]
Added: + # data = {"model": model, "messages": messages, "temperature": 0.15, "tools": tools} # Pass tools to payload.
Added: +
Added: + response = requests.post(url, headers=headers, data=json.dumps(data))
Added: + print(response.json()["choices"][0]["message"]["content"])
Added: + ```
Added: + </details>

Before

Not present in the earlier snapshot.

After

<details>
<summary>Expand</summary>

To use this model with [SGLang](https://github.com/sgl-project/sglang) to implement a production-ready inference pipelines (OpenAI-compatible API server),
see the following sections.

**_Installation_**

Install SGLang from source (track latest `main` locally):

```
git clone https://github.com/sgl-project/sglang.git
cd sglang
uv pip install -e python
uv pip install transformers==5.0.0rc # required
uv pip install nvidia-cudnn-cu12==9.16.0.29 # required for VLM
```

**_Launch server_**

We recommend that you use Devstral Small 2 in a server/client setting.

1. Spin up a server:

```
python -m sglang.launch_server --model-path mistralai/Devstral-Small-2-24B-Instruct-2512 --host 0.0.0.0 --port 30000 --tp 2 --tool-call-parser mistral
```


2. To ping the client you can use a simple Python snippet.

```py
import requests
import json
from huggingface_hub import hf_hub_download


url = "http://<your-server-url>:30000/v1/chat/completions"
headers = {"Content-Type": "application/json", "Authorization": "Bearer token"}

model = "mistralai/Devstral-Small-2-24B-Instruct-2512"

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()
    return system_prompt

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

messages = [
    {"role": "system", "content": SYSTEM_PROMPT},
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "<your-command>",
            },
        ],
    },
]

data = {"model": model, "messages": messages, "temperature": 0.15}

# Devstral Small 2 supports tool calling. If you want to use tools, follow this:
# tools = [  # Define tools (OpenAI-compatible)
#     {
#         "type": "function",
#         "function": {
#             "name": "git_clone",
#             "description": "Clone a git repository",
#             "parameters": {
#                 "type": "object",
#                 "properties": {
#                     "url": {
#                         "type": "string",
#                         "description": "The url of the git repository",
#                     },
#                 },

11 more lines not shown.

Transformers Changed +3 −3

Diff

⋯ 35 unchanged lines
 
  Act as an agentic assistant, if a user asks for a long task, break it down and do it step by step.
 
Removed: - When you want to commit changes, you will always use the 'git commit' bash command. It will always
Removed: - be suffixed with a line telling it was generated by Mistral Vibe with the appropriate co-authoring information.
Removed: - The format you will always uses is the following heredoc.
Added: + When you want to commit changes, you will always use the 'git commit' bash command. It will always be suffixed with a line telling it was generated by Mistral Vibe with the appropriate co-authoring information. The format you will always use is the following heredoc.
 
  ```bash
  git commit -m "<Commit message here>
⋯ 129 unchanged lines
  output = model.generate(
  input_ids,
  max_new_tokens=200,
Added: + do_sample=True,
Added: + temperature=0.15,
  )[0]
 
  decoded_output = tokenizer.decode(output[len(tokenized["input_ids"][0]) :])

Before

<details>
<summary>Expand</summary
 

Make sure to install from main:

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

And run the following code snippet:

```python
import torch
from transformers import (
    Mistral3ForConditionalGeneration,
    MistralCommonBackend,
)

model_id = "mistralai/Devstral-Small-2-24B-Instruct-2512"

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

SP = """You are operating as and within Mistral Vibe, a CLI coding-agent built by Mistral AI and powered by default by the Devstral family of models. It wraps Mistral's Devstral models to enable natural language interaction with a local codebase. Use the available tools when helpful.

You can:

- Receive user prompts, project context, and files.
- Send responses and emit function calls (e.g., shell commands, code edits).
- Apply patches, run commands, based on user approvals.

Answer the user's request using the relevant tool(s), if they are available. Check that all the required parameters for each tool call are provided or can reasonably be inferred from context. IF there are no relevant tools or there are missing values for required parameters, ask the user to supply these values; otherwise proceed with the tool calls. If the user provides a specific value for a parameter (for example provided in quotes), make sure to use that value EXACTLY. DO NOT make up values for or ask about optional parameters. Carefully analyze descriptive terms in the request as they may indicate required parameter values that should be included even if not explicitly quoted.

Always try your hardest to use the tools to answer the user's request. If you can't use the tools, explain why and ask the user for more information.

Act as an agentic assistant, if a user asks for a long task, break it down and do it step by step.

When you want to commit changes, you will always use the 'git commit' bash command. It will always
be suffixed with a line telling it was generated by Mistral Vibe with the appropriate co-authoring information.
The format you will always uses is the following heredoc.

```bash
git commit -m "<Commit message here>

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>"
```"""

input = {
    "messages": [
        {
            "role": "system",
            "content": SP,
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Can you implement in Python a method to compute the fibonnaci sequence at the `n`th element with `n` a parameter passed to the function ? You should start the sequence from 1, previous values are invalid.\nThen run the Python code for the function for n=5 and give the answer.",
                }
            ],
        },
    ],
    "tools": [
        {
            "type": "function",
            "function": {
                "name": "add_number",
                "description": "Add two numbers.",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "a": {"type": "string", "description": "The first number."},
                        "b": {"type": "string", "description": "The second number."},
                    },
                    "required": ["a", "b"],
                },
            },

103 more lines not shown.

After

<details>
<summary>Expand</summary
 

Make sure to install from main:

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

And run the following code snippet:

```python
import torch
from transformers import (
    Mistral3ForConditionalGeneration,
    MistralCommonBackend,
)

model_id = "mistralai/Devstral-Small-2-24B-Instruct-2512"

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

SP = """You are operating as and within Mistral Vibe, a CLI coding-agent built by Mistral AI and powered by default by the Devstral family of models. It wraps Mistral's Devstral models to enable natural language interaction with a local codebase. Use the available tools when helpful.

You can:

- Receive user prompts, project context, and files.
- Send responses and emit function calls (e.g., shell commands, code edits).
- Apply patches, run commands, based on user approvals.

Answer the user's request using the relevant tool(s), if they are available. Check that all the required parameters for each tool call are provided or can reasonably be inferred from context. IF there are no relevant tools or there are missing values for required parameters, ask the user to supply these values; otherwise proceed with the tool calls. If the user provides a specific value for a parameter (for example provided in quotes), make sure to use that value EXACTLY. DO NOT make up values for or ask about optional parameters. Carefully analyze descriptive terms in the request as they may indicate required parameter values that should be included even if not explicitly quoted.

Always try your hardest to use the tools to answer the user's request. If you can't use the tools, explain why and ask the user for more information.

Act as an agentic assistant, if a user asks for a long task, break it down and do it step by step.

When you want to commit changes, you will always use the 'git commit' bash command. It will always be suffixed with a line telling it was generated by Mistral Vibe with the appropriate co-authoring information. The format you will always use is the following heredoc.

```bash
git commit -m "<Commit message here>

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>"
```"""

input = {
    "messages": [
        {
            "role": "system",
            "content": SP,
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Can you implement in Python a method to compute the fibonnaci sequence at the `n`th element with `n` a parameter passed to the function ? You should start the sequence from 1, previous values are invalid.\nThen run the Python code for the function for n=5 and give the answer.",
                }
            ],
        },
    ],
    "tools": [
        {
            "type": "function",
            "function": {
                "name": "add_number",
                "description": "Add two numbers.",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "a": {"type": "string", "description": "The first number."},
                        "b": {"type": "string", "description": "The second number."},
                    },
                    "required": ["a", "b"],
                },
            },
        },
        {

103 more lines not shown.

8 other sections unchanged.

Evidence · Observed by PinDiff

Earlier
Snapshot #4150 · revision 9218adc · Recorded at 04 Sep 2026, 13:52 UTC
Later
Snapshot #6364 · revision bc5b177 · Recorded at 20 Oct 2026, 07:14 UTC
Source
README.md at each revision, stored by PinDiff. Sections are compared individually.
Stored file SHA256
f3d13e4cb9e1fd4b25969dc3b6aec84a2eade7110e4d6fce35b851862a077e4f → b4abde132ff9717a8f75ec0a89c6787aebf71161a3202161fe6e97cfc58a5c2e

Repository status

Changed

Repository revision moved

Earlier
Revision 9218adc (opens in a new tab) · 18 files · 32.17 GB
Later
Revision bc5b177 (opens in a new tab) · 18 files · 32.17 GB

A new revision does not by itself mean files changed; the categories above show what differs.

Evidence · Observed by PinDiff

Earlier
Snapshot #4150 · revision 9218adc · Recorded at 04 Sep 2026, 13:52 UTC
Later
Snapshot #6364 · revision bc5b177 · Recorded at 20 Oct 2026, 07:14 UTC
Source
Default-branch head commit observed via the Hugging Face API.

Files

Unchanged

No change

Evidence · Observed by PinDiff

Earlier
Snapshot #4150 · revision 9218adc · Recorded at 04 Sep 2026, 13:52 UTC
Later
Snapshot #6364 · revision bc5b177 · Recorded at 20 Oct 2026, 07:14 UTC
Source
File hashes and sizes from the repository file manifest. Weights, licence, configuration, Python and model card files are covered above.

Evidence observed by PinDiff from the Hugging Face API and stored when recorded. PinDiff compares stored metadata, hashes and text files; it does not download weight files. Change events recorded between these snapshots