Web Asset House Guides
Local AI

Ollama Decision Models: Classify Text and Score Yes/No Questions Locally With Nimble

By Web Asset House Studio ·

Note: Some future links on this site may be affiliate links. We never claim hands-on testing; guides are researched from the public sources listed in each article.

How we wrote this: A summary of Ollama's official "Decision" documentation, its CLI reference and the Nimble model page in Ollama's library (linked below), checked October 29, 2026. Example outputs are the ones in Ollama's docs; your numbers will differ. We haven't run these models ourselves.

Most local AI guides are about chatting with a model. A lot of everyday work isn't a chat, though; it's a decision. Is this email asking for a refund? Which team should handle this ticket? How urgent is it? Ollama now has a model type built for exactly that, and it runs on your own machine.

What a decision model is

Ollama's Decision docs describe models that classify text, estimate yes/no probabilities, and score text against a rubric. You give the model some text (Ollama calls it the state) and one or more questions. Instead of writing a paragraph, it returns an answer and the probability of each allowed answer.

The Nimble model page describes Nimble as a 9B decision model from Bespoke Labs, fine-tuned from Qwen3.5-9B. It reads the prompt once per question and scores the answer tokens directly, with no reasoning step, which the page says is what makes it fast. The download is about 9.3 to 9.5 GB. Our AI model memory calculator can help you judge whether a model that size fits your computer.

The docs list four decision models: Nimble, Tev1, Clef and Clef Flash. The Clef models can also judge images.

Setup

You need Ollama v0.35.0 or later (Clef needs v0.35.1 or later). Then:

ollama pull nimble

The docs note that local requests don't need an API key.

Ask from the terminal

Pipe in a file (or put the text after the model name) and ask questions with --ask. Each is answered yes or no, unless you follow it with --choice labels or --level scores:

ollama run nimble \
  --ask "Is a refund being requested?" \
  < ticket.txt

Choose a label:

ollama run nimble \
  --ask "Which team should handle this?" \
  --choice billing="Payments and refunds" \
  --choice technical="Software problems" \
  < ticket.txt

Score on a scale, lowest level first:

ollama run nimble \
  --ask "How urgent is this?" \
  --level "Routine" \
  --level "Soon" \
  --level "Immediate" \
  < ticket.txt

You can combine several --ask questions in one command. Each answer prints on its own line. The docs' example output:

Is a refund being requested? yes 97%
Which team should handle this? billing 91%
How urgent is this? Soon 64% 1.2 / 2

For a JSON file, you can refer to a field in backticks (for example, Is a refund being requested in `body`?), and --format json prints the full response.

The three question types

Type You provide You get back
choice 2 to 26 named options with descriptions The most likely option and each option's probability
noul (yes/no) Descriptions for "false" and "true" The probability of true, from 0 to 1
score 2 to 10 descriptions, lowest to highest A probability-weighted average of the levels

The score is worth understanding. With the levels Routine (0), Soon (1) and Immediate (2), the docs give the formula: score = 0 × P(Routine) + 1 × P(Soon) + 2 × P(Immediate). That's why the example above reads "1.2 / 2": mostly "Soon," leaning a little toward "Immediate."

Call it from your own code

The local endpoint is /v1/systemone on Ollama's usual address, localhost:11434. A trimmed version of the docs' example:

curl http://localhost:11434/v1/systemone \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "nimble",
  "state": "Checkout returns 500 errors.",
  "questions": {
    "label": {
      "type": "choice",
      "instructions": "Which label fits?",
      "criteria": {
        "billing": "Payments and refunds",
        "bug": "Software errors"
      }
    }
  }
}'

The response includes the chosen label, a probability for each option, a confidence value and token usage. The Nimble page also shows the same call through the official Python and JavaScript libraries (ollama.systemone(...)).

Read the numbers carefully

The docs define confidence as how strongly the model favors one answer over the others, from 0 to 1, and add: "A higher value does not guarantee the answer is correct." Treat the output as a sorting aid, not a verdict. For anything that matters (a refund, a legal deadline, a customer complaint) keep a person in the loop and spot-check results.

A small-business example

Say your inbox gets customer emails. A short script could save each message to a file, ask Nimble "Is a refund being requested?", "Which team should handle this?" and "How urgent is this?", and sort messages into folders, all without sending customer text to an outside service. For a structured alternative that writes JSON from a regular chat model, see Ollama structured outputs.

Images with Clef

Clef and Clef Flash accept base64-encoded PNG, JPEG or WebP images alongside the state; the docs say URLs and data URLs aren't accepted, and the state is still required. The docs' terminal example: ollama run clef ./receipt.png --ask "Is this a restaurant receipt?".

Local vs. cloud

Clef also runs in Ollama's cloud with a paid plan or usage credits, by adding :cloud to the model name or calling ollama.com with an API key. That sends your text to Ollama's servers and is billed per input token. If keeping data on your machine is the point, use the local models; see keeping Ollama local-only.

Sources

← All Local AI guides · All guides