Perplexity
Decider V1.2
perplexity/pplx-decider-v1.2
A 27B decision model from Perplexity. Instead of generating text, it reads the content you pass as state and answers typed questions with probabilities your code thresholds.
RoleThe ticket router
$0.020
In / M
Free
Out / M
262K
Context
- AA intelligence index
- Not on listing
- Inputs
- text, image
- Outputs
- decisions
- Tools
- Not listed
- Structured output
- Not listed
- Reasoning
- Not listed
- Weights
- Open · perplexity-ai/pplx-decider-v1.2
- Listed
- Oct 16, 2026
01 · What it's good at
Use it for this.
Three jobs this model is built for, and the ones to give to something else.
01
Routing tickets, reviews, and screenshots to a team
02
Moderation where only confident hits are auto-hidden
03
Grading answers against your rubric
Skip it for
- Writing, chat, or code
- Copying a threshold from another decision model without re-testing
02 · Example tasks
What you'd actually send it.
Real inputs, not a benchmark. Paste one into the snippet below to try it.
You send
State: the ticket text. Questions: noul 'needs a human', choice of team, score urgency 1 to 3.
Why this model
Three decisions in one call, each a probability.
03 · Your stack
Where it sits: Gate & route.
In front of expensive work: decide which queue, which model, or whether a human needs to look, before anything writes text.
Layer 01
Retrieve
Layer 02
Plan & reason
Layer 03
Do the volume
Layer 04 · this model
Gate & route
Layer 05
Draw, speak, listen
04 · Wire it up
One request. Paste and run.
Uses OpenRouter, so one key works for every model on this site. Set OPENROUTER_API_KEY and swap the prompt for one of the tasks above.
const res = await fetch("https://openrouter.ai/api/alpha/decisions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "perplexity/pplx-decider-v1.2",
"state": {
"ticket": "My checkout page shows a blank screen after I click Pay. I tried two browsers."
},
"questions": {
"is_bug": {
"type": "noul",
"instructions": "Is the customer reporting a software defect?"
},
"team": {
"type": "choice",
"instructions": "Which team should own this ticket?",
"criteria": {
"payments": "Checkout, billing, or payment issues.",
"account": "Login or profile issues.",
"frontend": "Rendering or layout issues."
}
}
}
}),
});
if (!res.ok) throw new Error(`Decisions ${res.status}: ${await res.text()}`);
const { answers } = await res.json();
// A noul answer is the probability of "yes". Your code picks the thresholds.
const p = answers.is_bug.noul;
if (p >= 0.9) console.log("yes");
else if (p <= 0.1) console.log("no");
else console.log("send to a human", p);
Decisions is an alpha endpoint on OpenRouter. The TypeScript SDK exposes it as openRouter.alpha.decisions.create().
05 · Watch out for
Gotchas.
Probabilities differ between decision models. Measure thresholds on your own labeled data.
The Decisions API is an alpha endpoint on OpenRouter. Pin your SDK version.
From our review · 2026-10-18
You send a state (the ticket, the review, the image) and named questions. A noul question is yes/no and returns the probability of yes. A choice question returns a probability per option and a top pick. A score question rates an ordered rubric and returns a probability per level plus an expected score. Your code applies a threshold, for example auto-close if p(spam) > 0.95, otherwise send it to a person.
Perplexity also ships Decider Flash v1.2, a smaller sibling with the same question types, and a separate Orchestrator API that does not pick a label for you. The orchestrator routes a request to a healthy deployment of a model you already chose.
Perplexity said Decider v1 scores 85.71% across benchmarks, measured through its own API. Treat that as a vendor claim. For an independent cut, use Artificial Analysis's Decision Index. v1-27b weights were posted on Hugging Face, fine-tuned from Qwen3.8-27B; v1.2 itself was not verified as open on Oct 18, 2026.
Sources
- OpenRouter model listing ↗
- OpenRouter SDK: Decisions ↗
- Perplexity Decisions quickstart ↗
- Perplexity changelog ↗
- Perplexity Orchestrator is a different API ↗
- OpenRouter model listing ↗
Lessons are written from each model's listing and the linked docs. We don't publish our own benchmark numbers; the index above is Artificial Analysis, as shown on OpenRouter.
Keep learning