Ollama now supports Jev-style decision models

ollama.com · 2026-09-30 · by Long Nguyen ·generic
Ollama now supports decision models, based on TypeSafe's Jev API for fast, typed decisions. Decision models can now be run at no cost with low latency. Based on text, decision models answer yes-or-no questions, choices and scores about it, with a probability for every option.

Ollama now supports Jev-style decision models

Ollama now supports Jev-style decision models

September 29, 2026

Ollama now supports decision models, based on TypeSafe’s Jev API for fast, typed decisions:

  • No additional costs
  • Lower latency when run locally
  • Three new decision models available today via Ollama
  • This new API is available as of Ollama 0.35 by using the new `/v1/systemone` endpoint. Send text as `state` with a set of named questions, and a model running on your machine answers them all in one request. This is great for tasks that require fast decisions, such as ticket triage, model routing, and content or safety moderation.

    Ticket triage Model routing Content moderation

    Near-instant decisions

    Decision models on Ollama are fast, as requests don’t have to travel over a network. Nimble 9B averaged 91ms per decision in the Pac-Man example below when running locally on an M5 Max. That’s fast enough to make rapid decisions such as playing a game or processing content in real time:

    Move 1Replay

    Nimble 9B running on a MacBook Pro M5 Max, replayed at real-time speed.

    Available models

    Three new decision models are available to run via Ollama:

  • nimble: open-source 9B parameter decision model developed by Bespoke Labs
  • tev1: an experimental 4B decision model from Together AI
  • tev1:0.8b: an experimental 0.8B decision model from Together AI
  • More decision models are coming soon, including models served by Ollama’s cloud.

    Decision models on Ollama

    Bespoke Labs public benchmarks · accuracy, higher is better

    Mean accuracy across 13 public data sets with human labels, covering 3,880 decisions. Nimble and Tev1 were evaluated on Ollama; Jev 1.13 is from Bespoke Labs' published run on the same decisions. See the Ollama evaluation results and benchmark suite.

    Get started

    To get started, first download or upgrade to the latest version of Ollama. Next, download a decision model such as `nimble`:

    ollama pull nimble

    You can make a request via `curl` or via TypeSafe’s official Python SDK.

    API TypeSafe SDK

    Request

    curl http://localhost:11434/v1/systemone -d '{
      "model": "nimble",
      "state": {
        "ticket": "I was charged twice. Please refund the extra payment."
      },
      "questions": {
        "team": {
          "type": "choice",
          "instructions": "Which team should handle this ticket?",
          "criteria": {
            "billing": "Payments and refunds",
            "technical": "Bugs and integrations",
            "other": "None of the above"
          }
        },
        "refund": {
          "type": "noul",
          "instructions": "Does the customer explicitly ask for a refund?"
        },
        "urgency": {
          "type": "score",
          "instructions": "How urgent is this ticket?",
          "criteria": ["Routine", "Soon", "Urgent"]
        }
      }
    }'

    Response

    {
      "model": "nimble",
      "answers": {
        "team": {
          "type": "choice",
          "choice": "billing",
          "probabilities": {"billing": 0.985, "technical": 0.012, "other": 0.003},
          "confidence": 0.922
        },
        "refund": {"type": "noul", "noul": 0.997},
        "urgency": {
          "type": "score",
          "score": 0.815,
          "legend": {"0": "Routine", "1": "Soon", "2": "Urgent"},
          "probabilities": {"0": 0.378, "1": 0.429, "2": 0.193},
          "confidence": 0.046
        }
      },
      "usage": {"input_tokens": 841, "output_tokens": 4}
    }

    Setup

    uv add typesafe-sdk  # or: pip install typesafe-sdk
    export TYPESAFE_BASE_URL=http://localhost:11434
    export TYPESAFE_API_KEY=ollama
    export TYPESAFE_DEFAULT_MODEL=nimble

    Request

    from typesafe_sdk import Choice, Noul, Score, TypeSafeClient

    ticket = "I was charged twice. Please refund the extra payment." questions = { "team": Choice( instructions="Which team should handle this ticket?", criteria={ "billing": "Payments and refunds", "technical": "Bugs and integrations", "other": "None of the above", }, ), "refund": Noul( instructions="Does the customer explicitly ask for a refund?", ), "urgency": Score( instructions="How urgent is this ticket?", criteria=["Routine", "Soon", "Urgent"], ), }

    with TypeSafeClient(timeout=120) as client: result = client.system_one( state={"ticket": ticket}, questions=questions, )

    print(result.choices["team"].choice) # billing print(result.nouls["refund"].noul) # 0.997 print(result.scores["urgency"].score) # 0.815

    What’s next

    This is the first of many releases to come adding decision model support to Ollama. Future updates will include:

  • Faster performance on Apple Silicon powered by MLX
  • More models specializing in different kinds of decision making
ollama.com · 1 images · 21 links

Comments (0)

No comments yet