Wyat, a French decision model

Wyat is a French decision model that runs locally. Your application supplies a message and the list of options it allows. Wyat scores every option on your machine and returns the ID of one of them, with a full probability distribution. Nothing is sent over the network.

What is a decision model?

A language model generates free text, which then has to be interpreted. A decision model answers within a closed set: it can only return one of the options you defined. There is no off-list answer to filter out, and every option gets a score, so you can see how close the choice was.

Choosing an option does not perform it. Wyat returns an ID; your code decides what to do with it, for example by looking it up in its own table of allowed actions.

Three task types

Wyat works best in French and is also strong in English.

Example

import wyat

# The first load downloads the model and checks it.
model = wyat.load("teilomillet/wyat-1-600m")

decision = model.decide(wyat.Request.choice(
    "Which queue should handle this message?",
    {
        "billing": "Payments, invoices, refunds",
        "tech": "Bugs and errors",
        "human": "Unclear: ask a person",
    },
    context="I was charged twice this month.",
))

decision.selected             # the chosen ID, for example "billing"
decision.probabilities_by_id  # a probability for each option

The first load downloads the model from Hugging Face and checks every file against pinned hashes; after that it loads from your machine. It loads once and then serves as many decisions as you need, one at a time or in batches.

Why run it locally?

The probabilities are relative weights over the options you supplied, not calibrated confidence. Wyat includes evaluation tools to choose, from labeled cases, how clear a decision must be before it is automated.

Get started

The code is licensed under Apache 2.0, and the model weights are downloaded from Hugging Face on first use.