Announcing decision models NobodyWho added support for decision models, general-purpose classifiers that score user-defined criteria instead of relying on long prompts or structured outputs, built on top of llama.cpp and currently supporting Laya decision models. The release offers three question types — `choice`, which picks one option and returns a probability for each; `noul`, which gives the probability an answer is yes; and `score`, which rates something on a user-defined scale. In the published Python example, a customer message is routed to billing with 97.4% probability, flagged as angry with 78.6% probability, and scored 1.90 for urgency on a 0–3 scale. ← Back to blog https://www.nobodywho.ai/posts/ Announcing decision models We are happy to announce that NobodyWho https://github.com/nobodywho-ooo/nobodywho now supports decision models Decision models were recently popularized by the release of Jev https://typesafe.ai/blog/introducing-system-one-models-and-jev . They are general-purpose classifiers. Instead of writing a long prompt or using structured outputs https://docs.nobodywho.ai/python/sampling structured-output , you define a set of criteria and let the model score them. Our implementation sits on top of the great work from the llama.cpp https://github.com/ggml-org/llama.cpp team. We currently support Laya https://huggingface.co/ggml-org/Laya-GGUF decision models and three types of questions: - choice picks one option and gives the probability of each one. - noul gives the probability that the answer is yes. - score rates something on a scale you define. Here's a short example in Python: python from nobodywho import Decision, Model model = Model model path="hf://ggml-org/Laya-GGUF/Laya-Q8 0.gguf" decisions = Decision model=model, n ctx=1024 result = decisions.decide state="Customer message: I was charged twice for my order last week and nobody has replied.", questions={ "route": { "type": "choice", "instructions": "Choose the best team for this customer message.", "criteria": { "billing": "payments, charges, refunds, invoices", "shipping": "delivery, tracking, lost or late parcels", "technical": "bugs, errors, login problems", }, }, "angry": {"type": "noul", "instructions": "Is the customer angry?"}, "urgency": { "type": "score", "instructions": "How urgent is this?", "criteria": "can wait", "this week", "today", "right now" , }, }, route = result "answers" "route" print f"Team: {route 'choice' }" for team, probability in route "probabilities" .items : print f" Probability of {team}: {probability:.1%}" angry = result "answers" "angry" print f"Probability the customer is angry: {angry 'noul' :.1%}" urgency = result "answers" "urgency" print f"Urgency score: {urgency 'score' :.2f} 0 = can wait, 3 = right now " for level, probability in urgency "probabilities" .items : print f" Probability of {urgency 'legend' level }: {probability:.1%}" Output: Team: billing Probability of billing: 97.4% Probability of shipping: 1.5% Probability of technical: 1.1% Probability the customer is angry: 78.6% Urgency score: 1.90 0 = can wait, 3 = right now Probability of can wait: 4.0% Probability of this week: 46.7% Probability of today: 4.9% Probability of right now: 44.4% To learn more, visit the docs for the language you prefer: Music in the video: "Beauty Flow" by Kevin MacLeod incompetech.com , licensed under CC BY 4.0 https://creativecommons.org/licenses/by/4.0/ . Everything NobodyWho does is open-source, please leave a star on GitHub https://github.com/nobodywho-ooo/nobodywho to support us ❤️ Get new posts in your feed reader: subscribe via RSS https://www.nobodywho.ai/feed.xml .