Skip to main content
Drex is NDI’s decision model. System One is the topology it runs in: one synchronous call in which Drex answers every question about a state, with no agent loop, job or workspace. The endpoint, SDK resource, CLI command and MCP tool are named systemone after it. systemone.evaluate answers typed questions about a state — text, or any JSON value — in one synchronous call. There is no workspace and no job: the answers are the response. Each question is keyed by a name you choose, and its answer comes back under the same name.

Evaluate a state

A NoulQuestion needs instructions or at least one criterion. A ChoiceQuestion lists its options as criteria keys; a None value means the option name says enough. A ScoreQuestion lists its levels lowest first. confidence is Drex’s average confidence in the answer. It tracks the highest probability but is a different number; do not derive one from the other. legend[round(score)] names the level nearest the expected score, which is not always the most likely level; for that, take the highest entry in probabilities. Limits and input rules are on Drex (Decision Model).

Method signature

Parameters

Returns

A SystemOneResponse: answers keyed as the questions were, the model that answered, token usage, evaluation_time_ms, and request_id. An answer type newer than this SDK arrives as an UnknownAnswer carrying the raw answer in data.

Error handling

The SDK does not retry evaluate on its own. Nothing is stored, so retrying a 429 or 503 yourself is safe.