Jev choice
jev_choiceSelect exactly one option from a predefined set based on input content, returning the chosen option, probability distribution, and confidence. Use for classification, routing, or single-choice decisions from a closed list.
Instructions
Ask one question whose answer is exactly one of a set of options you define.
Use for a category, a route, or a selection from a closed list — not for a degree and not for a yes/no. Write the judgment in instructions, and put the boundaries in the option descriptions: what each option covers and excludes. Include an option named "other" or "none" when the list may not cover every input. A choice returns exactly one option, so ask separate noul questions (together in jev_ask) when several labels can apply at once.
Returns the selected option, the full probability distribution, and confidence. Confidence summarises how concentrated the distribution is — it is not the probability that the selection is correct. Compare it against a threshold you calibrated on your own examples, and send anything below it to a person instead of acting on it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model alias. Omit to use the server default (`openjev`). | |
| state | Yes | The content the questions are judged against: text, an object of named fields, or an array of records. Reference a nested field from `instructions` with a dotted path in backticks, e.g. `account.plan`. Fetch external records first — a URL here is not a request to browse — and note that this API accepts no image, audio, or file uploads. | |
| criteria | Yes | The options. An object maps each option name to a description of what it covers and excludes; an array of names is shorthand for options that need no description. Include an option named "other" or "none" when the list may not cover every input. | |
| question_id | No | Label for this question in the response. Defaults to the primitive name. | |
| instructions | Yes | The judgment to make, written out in full. A clear specific string is usually enough; use an object or array when the judgment, its scope, and its constraints belong together. The question id is not sent to the model, so never rely on it to carry meaning. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hints | No | Non-blocking advice about this request, when there is any. | |
| model | No | ||
| usage | No | ||
| answer | Yes | ||
| question_id | Yes |