PythonChoice + Noul
from anyjev import Decider, Question
from anyjev.backends.hf import HFBackend
decider = Decider(HFBackend("Qwen/Qwen3-8B"))
route = Question.choice(
"Which team should handle this?",
["billing", "technical", "sales", "other"],
name="route",
)
risky = Question.noul(
"Is this tool call destructive or irreversible?",
name="risky",
)
result = decider.decide(
{"message": "I was charged twice.", "tool_call": "refund"},
[route, risky],
)
result["route"].distribution
result["risky"].p_true
result.level # "L0"