nimble-v3:9b-nvfp4

186 7 hours ago

A 9B decision model from Bespoke Labs for fast classification, routing, and scoring.

tools decision thinking 9b
curl http://localhost:11434/v1/systemone \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nimble-v3:9b-nvfp4",
    "state": "Hello World",
    "questions": {
      "says_hello": {
        "type": "noul",
        "instructions": "Does the state text contain a greeting?",
        "criteria": {
          "true": "The state text contains a greeting.",
          "false": "The state text does not contain a greeting."
        }
      }
    }
  }'

Details

7 hours ago

a11fb440f1e6 · 6.9GB

{ "architectures": [ "Qwen3_5ForCausalLM" ], "model_type": "qwen3_5", "text_config": { "attention_bi
{ "_from_model_config": true, "eos_token_id": 248044, "output_attentions": false, "output_hidden_sta
{ "producer": { "name": "modelopt", "version": "0.47.0.dev75+gfbcdc16c2.d20260818" }, "quantization"
{ "version": "1.0", "truncation": null, "padding": null, "added_tokens": [ { "id": 248044, "content"
{ "add_prefix_space": false, "added_tokens_decoder": { "248044": { "content": "<|endoftext|>", "lstr
{ "!": 0, "\"": 1, "#": 2, "$": 3, "%": 4, "&": 5, "'": 6, "(": 7, ")": 8, "*": 9, "+": 10, ",": 11,
Classify the context using the supplied schema. The schema defines each field, its meaning, and allo
Bespoke-Nimble-9B-v3 by Bespoke Labs (Shreyas Pimpalgaonkar, Sid Devic, Mrinal Kumar, Pratik Dalal,
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR US
{ "num_ctx": 32768 }
427 tensors

Readme

Nimble v3

Requires Ollama 0.40.4 or later.

Nimble v3 is a 9B decision model from Bespoke Labs, fine-tuned from Qwen3.5-9B.

Give it the relevant facts and questions with defined answers. It returns probabilities for those answers, letting your application route a request, check a condition, or assign a rating. It scores candidate answer tokens directly, without generating a reasoning trace or a free-form response.

Noncommercial use only. Nimble v3 is licensed under CC BY-NC 4.0, unlike the earlier nimble release. The Qwen3.5-9B base is separately licensed under Apache 2.0. See the publisher’s license statement.

ollama pull nimble-v3

Highlights

  • Three question types: categorical choices, Boolean questions, and ordered rubric scores.
  • Multiple questions per request: evaluate several aspects of the same input.
  • 32K text context: up to 32,768 tokens, including the formatted questions.
  • MLX and GGUF: automatic backend selection, with unquantized and smaller quantized variants available.

API

Send requests to Ollama’s /v1/systemone endpoint. Put the evidence in state and name each question in questions. Ollama formats the model’s prompt and returns an answers object using those names.

Type Criteria Result
choice Option names mapped to descriptions. choice names the selected option; probabilities gives each option’s probability.
noul Optional descriptions for true and false. noul is the probability that the answer is true, from 0 to 1.
score An array of level descriptions in ascending order. score is the probability-weighted level, numbered from 0; probabilities and legend describe the levels.

Example

This request checks return eligibility, selects a department, and rates damage:

curl --fail-with-body -sS http://localhost:11434/v1/systemone \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "nimble-v3",
    "state": "Returns are allowed within 30 days. This item was bought 12 days ago. It arrived undamaged.",
    "questions": {
      "eligible": {
        "type": "noul",
        "instructions": "Is this item within the store return window?",
        "criteria": {}
      },
      "department": {
        "type": "choice",
        "instructions": "Which department handles a return?",
        "criteria": {
          "returns": "Product returns and refunds",
          "technical": "Software installation"
        }
      },
      "damage": {
        "type": "score",
        "instructions": "How damaged was the item?",
        "criteria": ["Undamaged", "Minor damage", "Destroyed"]
      }
    }
  }'

For this example, look for a high answers.eligible.noul, answers.department.choice of returns, and an answers.damage.score near zero. Changing the purchase date from 12 to 90 days should reverse eligibility. Exact probabilities vary with the weight format and backend.

Evaluation

Bespoke Labs results

Bespoke Labs reports a Decision Index 0.2.1 score of 56.88 for Nimble v3. The published evaluation includes the full run, inference implementation, and reproduction instructions. This is the publisher’s index score, measured with its reference implementation.

On Ollama

The results below use the unmodified JevBench original, easy, and hard sets: 231 cases with prompts spanning 190–4,112 tokens. Each variant completed all requests without API errors.

Measured on an Apple M5 Max with a 40-core GPU, using Ollama 0.40.4-rc0. Each variant had one warmup request followed by one complete serial run, on AC power with fans at maximum and no competing GPU workload. Median and p95 are full HTTP request times with the model already loaded.

Variant Correct / 231 Median latency p95 latency
MLX BF16 201 88 ms 873 ms
MLX MXFP8 201 103 ms 1,057 ms
MLX NVFP4 201 99 ms 929 ms
GGUF BF16 202 176 ms 1,336 ms
GGUF Q8_0 200 163 ms 1,273 ms
GGUF Q4_K_M 198 168 ms 1,344 ms

JevBench and Decision Index use different tasks and scoring; these results are separate evaluations. Latency depends on prompt length, question count, and hardware.

Variants

nimble-v3, nimble-v3:latest, and nimble-v3:9b select MXFP8 with MLX on supported Apple Silicon systems, or Q8_0 with llama.cpp. To choose a specific format:

Tag Backend Weight format Download size
nimble-v3:9b-mxfp8 MLX MXFP8 9.3 GB
nimble-v3:9b-nvfp4 MLX NVFP4 with selected weights at MXFP8 6.9 GB
nimble-v3:9b-mlx-bf16 MLX Unquantized BF16 17.9 GB
nimble-v3:9b-q8_0 llama.cpp GGUF Q8_0 9.5 GB
nimble-v3:9b-q4_K_M llama.cpp GGUF Q4_K_M 5.6 GB
nimble-v3:9b-bf16 llama.cpp Unquantized GGUF BF16 17.9 GB

Download sizes are approximate; runtime memory also includes caches and working buffers.

The Ollama packages merge Bespoke Labs’ adapter into the publisher-specified Qwen3.5-9B base and include the text weights. MLX quantized variants use NVIDIA Model Optimizer; GGUF quantized variants use llama.cpp.

Notes

  • Text input only. Use the decision API for structured answers; chat generation and image input are not supported.
  • The full formatted request, including the state and questions, must fit within the context window.
  • Probabilities are model estimates, not a guarantee of correctness. Validate decision thresholds on your own examples; quantization can change scores and decisions.
  • Include an explicit fallback option when none of the other choices may apply.