NVIDIA OO Agents Decisions
Turn typed agent methods into calibrated Jev routing and triage decisions without a chat model.
Turn typed agent methods into calibrated Jev routing and triage decisions without a chat model.
In the decision-model quickstart, a support message is the state for typed questions declared in Python return annotations. DecideStrategy compiles a bool or Enum (or a Pydantic model containing them) into one decision request, sends it through the configured DecisionClient, and rebuilds the declared return value. The triage example asks Jev to select a support department and decide whether the issue needs immediate action; application code reads those typed values and prints the triage result.
Select the team that owns the request.
The triage method receives message: "I was charged twice for my March invoice." DecideStrategy constructs state from that method parameter and the instruction to use only the supplied message.
Decide whether the request needs immediate action.
The triage method receives message: "I was charged twice for my March invoice." DecideStrategy constructs state from that method parameter and the instruction to use only the supplied message.
Read the model, endpoint, and API key from DECISION_MODEL, DECISION_ENDPOINT, and OPENROUTER_API_KEY, with quickstart defaults for the model and endpoint. Pass the client to SupportRouter as its decision_model.
Define the department Enum and its Criteria, then declare department, confident_department, and triage methods with DecideStrategy. Triage's Pydantic model declares both department Choice and urgent bool questions with instructions.
For every sample message, call the three generated methods. Each call sends its own decision request; the triage method sends both fields in one request.
Print the department and triage values. For the detailed department result, compare the selected option's probability with the 0.8 threshold and route low-probability cases to manual review. Close the DecisionClient in a finally block.
The framework turns ordinary Python types and field metadata into named, typed decision questions. One method can batch related questions into a single request, while an Enum and Criteria make the available choices and their meanings explicit in code. A separate detailed ChoiceDecision can retain probability evidence and apply a threshold before the application accepts a value.