The LM Studio for decision models.

Learn, infer, serve, train and integrate Jev-like decision models on your own hardware, with no setup.

For macOS, Windows and Linux.

Playground Intern-Decision 4B, ready
Intern-Decision 4BReady, 4B, 10 GB CtrlL
Templates New
State the situation to judge
Questions 3, answered in one pass
CtrlEnter Save as template
 
Your templatesNew
  • Support triagesupport-triagev2
Starter templates
  • Route a support ticketsupport
  • Screen a prompt for injectioninjection
  • Moderate a commentmoderation
  • Pick the next tool for an agenttool
  • Check an AI answer against a sourceverify
  • Triage a shared inboxemail

Support triage

Route inbound tickets, rate urgency, flag churn risk.

Open in Playground
support-triagev2 latestproduction: v2
OverviewHistoryCompare versionsTest examplesVersions (2)

The situation

customer_messagetext, up to 8,000 characters
account_tier optionalone of free, pro, enterprise
open_invoices optionalwhole number

Use it from code

curl http://127.0.0.1:8420/v1/studio/decisions \
  -d '{"template": "support-triage",
       "variables": {"customer_message": "..."}}'

Laya got better

Laya for support tickets

All training
76%

correct on 126 questions it had never seen, up from 76%

Before training76%
After training100%

On general decisions it already knew, it scores 49% (49% before), so nothing was forgotten.

One it used to get wrong

Hi there, In Keystone, my account shows the wrong manager. This stops us closing the month today.

QuestionBeforeNow Which team fits best?networkidentity Is this urgent?noyes

It learned from 588 answered questions and was tested on 126 it never saw, in 10 min.

Use it nowCompare on Evaluate
Live1 hour24 hours7 daysAllEvery modelEvery template
Decisions235in the last 24 hours
Acted automatically29%67 of 235 completed
Asked a human168none failed
Typical time64 ms95% under 1.30 s
WhenResultDecisionFirst answerTime
4 min agoAsk a humansupport-triage v2Laya, Playgroundaccount 43%266 ms
7 min agoAsk a humanLayaPlaygroundbilling 98%286 ms
18 min agoAsk a humansupport-triage v2Laya, API, curlbilling 95%10.1 s
2 h agoAsk a humanJulia 1Playgroundtechnical 78%415 ms

Real answers from Intern-Decision 4B and a real training run on an NVIDIA GB10, replayed. Timings are the model's own.

Eleven open models from eight makers

A chat model writes an answer. A decision model weighs every answer.

Your code can't act on a paragraph. A decision model reads a situation and returns the probability of each answer you allowed, so your software gets a number it can act on.

Hi, we were billed twice for March on invoice #4411. Please refund the duplicate today or we will cancel our plan. Which department should handle this?

Chat model

A paragraph to parse, and no way to tell how sure it was.

Decision model

98 ms, one pass. A probability for every option you allowed, and nothing else.

Fig. 1The same support ticket, asked two ways. Billing takes 98% of the decision model's belief; technical is next at 1%.
  • Only the answers you allow

    You list the options. The model can't reply with anything else, so every output is something your code already handles.

  • Every question in one pass

    The situation is read once and every option of every question is scored together, in about 100 ms on a GPU.

  • Honest about doubt

    These models are trained to be calibrated: at 90% they should be right about nine times in ten. Evaluate checks that on your own examples.

Everything a decision model needs, in one app

Learn what they are, run them, serve them to your code, teach them your own decisions and watch every answer they give, all on your computer.

InferencePlayground

Write a situation, ask typed questions and read every answer as a chart, in about 100 ms on a GPU. Images, audio and video work too.

How a decision works
Playground answers drawn as charts: billing 98%, today 89%

ServeAPI

A local server that speaks TypeSafe's Jev API, OpenRouter and Vercel AI Gateway. Point existing code at it and change nothing else.

See the API
# One local server, four formats
POST /v1/systemone           TypeSafe Jev
POST /api/v1/systemone       OpenRouter
POST /typesafe/v1/systemone  Vercel AI Gateway
POST /v1/studio/decisions    Studio, with templates

base_url = "http://127.0.0.1:8420"

Model registryModels

Eleven open models with their size, memory and published results next to Jev. Download, load and eject each with one click.

Browse the models
The Models table: eleven models with size, memory and how many results are ahead of Jev

TemplatesTemplates

Save a decision as a versioned template with variables, test it on examples and call it by name from your code.

How templates work
A template with its variables, versions and tabs for history and test examples

TrainTrain

Teach a model your own decisions from a spreadsheet. It is kept only if it gets better without forgetting.

See the results
A training result: 100% correct on 126 unseen questions, up from 76%

ObservabilityHistory

Every decision from the app, your code and any SDK, with what acted automatically and what asked a person.

How History works
History: decisions, share acted automatically, asked a human and typical time, over a timeline

EvaluateEvaluate

Score several models on your own labelled examples, with calibration and act-threshold charts and a recommendation.

How Evaluate works
Evaluate results: two models scored, with calibration and act-threshold charts

LearnLearn

A guide inside the app that explains decision models with live examples, from the first question to your own training.

Read the docs
  1. How is this different from a chatbot?
  2. Six kinds of question
  3. Reading the numbers
  4. Where they shine, and where they do not
  5. Teaching it your own decisions

From situation to action in four steps

The Playground is where every model starts. Write what happened, ask what you need to know, and read each answer as a chart.

  1. Describe the situation

    An email, a support ticket, a log line, a JSON object. Intern-Decision 4B also reads images, and Jev-Omni reads images, audio and video.

  2. Ask typed questions

    Choose from six kinds of question and list the answers you'll accept. Several questions can share one situation.

  3. Press Decide

    The model reads everything once and scores every option at the same time. There is no text to generate and nothing to parse.

  4. Act, or ask a person

    Pick a threshold. Answers at or above it are safe to act on automatically; the rest go to a human. Drag it to see what changes.

Six kinds of question

Decision models answer three natively; the studio builds the other three from them. Every answer comes back as a full distribution.

Figures 2a to 2f show the shape of each answer with example values.

Everything between your first decision and production

Try a model, compare it with others, measure it on your own examples, teach it your own decisions, save it as a template and review every decision it makes, without leaving the app.

Yours, on your machine

The studio is a desktop app with a local server inside. This is the path every request takes, and all of it stays on your computer.

Your computer
  1. Your codeScripts, services, agents

    No per-call fees

    Call it a thousand times or a million. The cost is the electricity.

  2. Studio server127.0.0.1:8420

    Private by default

    It listens on this computer only. Other websites can't call it, and History keeps every decision for you to review.

  3. One process per modelLaya, Intern-Decision 4B

    Eject returns everything

    Ejecting a model ends its process and frees every byte. A crash in one model can't take down the studio.

  4. GPU or processorChosen during setup

    Works offline

    Once a model is downloaded it needs no connection. Fonts and assets ship inside the app.

The only thing that comes in: model downloads from Hugging Face, one at a time, smallest first, into the cache your other tools already share.

What never leaves: your situations, your questions and every answer.

Fig. 4A request's path through the studio. Nothing inside the frame talks to the internet.

Eleven open models, one click each

Weights come straight from each maker's Hugging Face repository. Nothing downloads until you choose; on first run, two that suit your computer are ticked for you.

Memory for models

Results are each maker's own published numbers, compared with TypeSafe's Jev where the maker reports one. Each model keeps its own license; its page in the app links to it.

Teach any of them your own decisions

Show a model a spreadsheet of past decisions. The studio trains it on your GPU, tests it on examples it never saw, and keeps it only if it got better without forgetting what it already knew.

  1. Julia 1support tickets 52% 91%−0.4
  2. Layapolicy topics 59% 80%+0.2
  3. Laya Multilingualbusiness workflows 34% 62%+12.7
  4. Laya Typed-Decisionspolicy topics 61% 81%+0.2
  5. GLiNER2.5 Decidepolicy topics 66% 75%+0.7
  6. Kev 0.5Bpolicy topics 65% 79%+0.6
  7. Kev 4Bpolicy topics 77% 82%+0.2
  8. Intern-Decision 4Bemotions 61% 76%+0.2
  9. Levpolicy topics 75% 82%+2.5
  10. CLM 8Bbusiness workflows 39% 68%+11.2
  11. Jev-Omnibusiness workflows 62% 77%0.0
Fig. 5One training run per model, by the studio itself on an NVIDIA GB10, measured on examples set aside before training. General is the change, in points, on general questions it never trained on: none got worse by more than half a point.

How the Train page works · What it checks, and every result

Runs on the computer you already have

The first time it opens, the studio checks your graphics, processor, memory and free disk, asks where models should run, and installs the matching engine inside its own folder.

Setup asking whether models should run on the NVIDIA GPU or the processor, with what each choice installs and its size
Fig. 6Setup on an NVIDIA GB10. Each choice says what it installs and how big it is; you can switch later on the System page.

Already calling Jev? Change the base URL.

While the app is open, the studio serves TypeSafe's Jev API at 127.0.0.1:8420. The official SDKs and code written for Jev work unchanged, with any of the eleven models.

Studio API
POST /v1/studio/decisions/v1/studio/templatesRun a saved template with new details. Every decision is kept in History, and templates keep their versions.
TypeSafe Jev API
POST /v1/systemoneGET /v1/modelsThe official typesafe-sdk and @typesafe-ai/sdk work as they are.
OpenRouter Decisions
POST /api/alpha/decisionsPOST /api/v1/systemone
Vercel AI Gateway
POST /typesafe/v1/systemoneGET /typesafe/v1/modelsPOST /v1/evaluate

Every endpoint also takes the pick-any, put-in-order and estimate-a-number questions, images, audio and video in "media", and a calibration temperature. Send X-Basal-Extensions: 1 to get each answer's decision, probabilities and latency too.

Tested against TypeSafe's published schema, both official SDKs and OpenRouter's schema: 14 of 14 checks pass. End to end, all six question types on all eleven models: 21 of 21.

ResponseIntern-Decision 4B on an NVIDIA GB10

Download Bud Decision Studio

The app is small. The engine and the models you choose download on first run, matched to your hardware.

Choose your computer

Pick a download from the list below.

Or install with one command
curl -fsSL https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.sh | sh

Downloads the right build, installs it and opens the app.

After downloading

    Requirements

    • macOS 12.3 or later on Apple Silicon. Intel Macs aren't supported by PyTorch.
    • Windows 10 or 11 on x64.
    • Linux on x64 or ARM64 with WebKitGTK 4.1, such as Ubuntu 22.04 or newer.
    • Disk for the models you pick, from 0.6 GB to 24 GB each.

    Questions, answered

    Something else? Open an issue on GitHub.

    What is a decision model?

    A model that returns probabilities instead of text. You give it a situation, such as an email, a log line or a JSON object, and typed questions with the answers you allow. It returns the probability of each answer in one fast pass. TypeSafe's Jev made the idea popular; the studio runs open models built in the same spirit, often called "System One" models.

    Do I need a GPU?

    No. Every model except Jev-Omni runs on the processor, and the small ones (Julia 1, Laya, GLiNER2.5 Decide) answer in about a second. A GPU makes the 4B and 8B models fast: on an NVIDIA GB10, Intern-Decision 4B answers three questions in about 100 ms.

    Can I train a model on my own decisions?

    Yes, on a computer with an NVIDIA RTX 30 series or newer GPU (including the GB10) or an Apple M2 or newer; Intel Arc, AMD on Linux and older cards are an experimental option. Give the Train page a spreadsheet of past decisions: it trains the model on this computer, tests it on examples it never saw, and keeps it only if it got better without getting worse at general decisions. How it works.

    Does anything leave my computer?

    Your situations, questions and answers don't. The internet is used to download the engine during setup and the models you choose, from each maker's Hugging Face repository.

    macOS says the app is from an unidentified developer.

    Right-click the app and choose Open once. Or install with the one-line command, which avoids the warning.

    Windows SmartScreen warns about the installer.

    Choose More info, then Run anyway. The one-line PowerShell command avoids the warning.

    A model won't load.

    It usually needs more memory. Eject other models from the sidebar or the System page. Each model's log is on its Models page, under View log.

    Downloads are slow.

    Hugging Face limits anonymous downloads. Run hf auth login once and restart the app.

    Can other machines on my network use it?

    Yes, when you choose to. Start the server with --host 0.0.0.0 and set BASAL_API_KEY; clients then send Authorization: Bearer <key>. By default it only listens on the computer it runs on.

    Where are the models stored?

    In the standard Hugging Face cache, shared with your other tools. A model you already downloaded elsewhere won't be downloaded twice.

    Your first decision is a minute away.

    Download the app, pick a model, press Decide.

    Download Bud Decision Studio