yev

The client for Yev-Decision-1, a local System One decision model. Give it a state, which can be text, images or both, plus named questions. It returns a typed probability distribution for each one: a Choice between options, a Score on an ordered scale, or a Noul (yes or no). It generates no text and nothing leaves the machine.

Install

uv add "yev[inference] @ git+https://huggingface.co/HallD/yev"

pip install "yev[inference] @ git+https://huggingface.co/HallD/yev" works the same way. Python 3.13 or later.

Extra Brings For
(none) pydantic, huggingface-hub, numpy Question and answer types only
inference torch, transformers, peft, accelerate, pillow Answering questions with a model
quantized inference plus bitsandbytes quantize4bit=True on a CUDA GPU

Use

from yev import Choice, Image, Noul, Score, YevClient

with YevClient() as client:   # YEV_DEFAULT_MODEL, else HallD/Yev-Decision-1
    response = client.system_one(
        state="I was charged twice. Please fix this ASAP.",
        questions={
            "billing": Noul(instructions="Is this ticket about billing?"),
            "tone": Choice(instructions="What is the customer's tone?",
                           criteria={"calm": None, "frustrated": None, "angry": None}),
            "urgency": Score(instructions="How urgent is this ticket?",
                             criteria=["can wait", "this week", "today"]),
        },
    )
print(response.nouls["billing"].noul, response.choices["tone"].probabilities)

The first call downloads the model and its backbone, Qwen/Qwen3.5-4B-Base at a pinned revision, into the Hugging Face cache. After that it runs offline (HF_HUB_OFFLINE=1). The backbone runs in bfloat16; its weights and the adapter take about 9.6 GB.

The call shape follows the TypeSafe SDK (0.7.5): YevClient and AsyncYevClient take its system_one(state, questions, model=, assets=, response_model=), its question objects (TypeSafe's own are accepted), and return its answer and response types. It runs in-process, so there are no API keys, retries or timeouts; Box questions are refused, and a Score takes at most 10 levels.

yev --export HallD/Yev-Decision-1 --state "I was charged twice." --noul billing "Is this ticket about billing?" asks from the command line.

JevBench

examples/jevbench_adapter.py is an adapter for the JevBench harness: it sends the harness's own question to system_one and returns the probabilities.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support