Jev Question Types: Choice, Score, and Noul Explained
TypeSafe AI's Jev answers exactly three kinds of questions: Choice (categorical), Score (numeric/rubric), and Noul (yes/no probability). Every schema you define for Jev has to fit one of these three shapes — there's no free-text output type. Understanding what each one is for is most of what you need to design a Jev integration.
Quick answer: Use Choice when you need one label from a fixed set (up to 255 categories); use Score when you need a numeric or rubric value on a defined scale; use Noul when the question is genuinely yes/no and you want a calibrated probability back, not just a hard true/false. All three are defined by a schema before the call, and TypeSafe AI reports a 0% structured-output error rate for staying within that schema — which means format-valid, not necessarily correct.
What is a Choice question in Jev?
Choice is categorical classification: you give Jev a fixed list of possible labels and it returns one (plus, per TypeSafe's positioning around calibrated probabilities, likely a confidence signal on that pick — check the official docs for the exact response fields, since we haven't been given the precise schema shape). Example: routing a support ticket into one of {billing, technical, account, other}, or classifying a log line's severity into one of a defined incident taxonomy. The category list can be as small as two options or as large as 255 — that's the hard cardinality cap on any Choice schema.
// Illustrative only — confirm exact field names against TypeSafe's official docs
{
"type": "choice",
"options": ["billing", "technical", "account", "other"],
"state": "Customer says their invoice charged twice this month..."
}
What is a Score question in Jev?
Score returns a numeric or rubric-based value rather than a category — useful when the answer is a magnitude, not a label. Example: scoring an invoice 0–100 for fraud risk, or rating a customer service transcript against a defined rubric. Score questions are where Jev's calibration training (see RLCD explained) matters most, since a score is only useful if it's honestly calibrated to the underlying likelihood or magnitude rather than just monotonically ordered.
What is a Noul question in Jev?
Noul is Jev's yes/no question type, and the name signals what makes it different from a plain boolean: instead of a hard true/false, TypeSafe positions it as returning a calibrated probability that the answer is "yes." Example: "is this transaction fraudulent?" as a Noul question should return something like 0.83, not just true — a probability you can threshold, log, and check for calibration over time. See calibrated confidence scores for what makes a 0.83 trustworthy versus decorative.
Worked example: routing three questions through Jev
A single customer-service message might generate all three question types against the same input state:
Input state: "Customer's third message this week about the same
shipping delay, tone is frustrated, order value $340."
Choice -> category: "escalate_to_human" (from a fixed routing taxonomy)
Score -> urgency: 82 (0-100 rubric)
Noul -> is_at_risk_of_churn: 0.71 (calibrated probability)
Three typed answers, in one low-latency call (70–500ms end to end, per TypeSafe's vendor benchmark), instead of parsing a paragraph of generated text into three separate values.
Why does the 255 cardinality cap matter?
If your categorical list can grow past 255 options — a large product catalog, a fine-grained taxonomy — a single Choice question can't represent it, and you'd need to restructure the problem (e.g., a hierarchy of narrower Choice questions, or a pre-filtering step) rather than assume Jev scales to arbitrary category counts. This is a hard architectural limit, not a soft default you can raise via configuration, as far as the facts we have confirm.
Common pitfalls
A few mistakes come up repeatedly when designing a Jev schema:
- Trying to squeeze free-text generation into a Choice question by making the "options" open-ended — that defeats the purpose and likely isn't supported.
- Treating a Noul probability as a hard boolean without picking and documenting a threshold.
- Assuming Score questions are always 0–100 — the scale should be whatever your rubric defines; confirm the exact response shape in TypeSafe's docs before building against it.
- Hitting the 255-category ceiling on a large taxonomy and not finding out until production.
Pro Tip: Design your schema around the decision you actually need to make, not around what's easy to compute. A Noul question with a calibrated 0.71 is far more actionable downstream than a Choice question forced into two buckets ("risky" / "not risky") that throws away the gradient.
← Back to AI & ML Tips