Skip to content

Senova

Checkpoints Inputs
WangSenQWQ/Senova-4B text

Senova-4B is a decision model on Qwen/Qwen3.5-4B. Flide asks it with the release's own prompt. Each question is a chat prompt of its own. The system turn calls the model a decision engine and asks for exactly one option key, with no explanation. The user turn holds the state, the question and the options, one per line with its label, and ends by asking for exactly one option key. A string state is shown as it is and anything else as compact JSON, and a state that is null, an empty string, an empty object or an empty list is shown as "(empty)". A choice lists each option's description, or its name when it has none. A noul lists "False" and then "True".

One question has a layout of its own. A noul question whose instructions are exactly "The response contains content that is not supported by the context in the prompt.", asked over a state with the two keys prompt and response, is laid out as the release trained it. The state is shown as "(empty)", the question holds the prompt as "Context prompt:" and the response as "Model response:" before the instructions, and the options show the request's descriptions of true and false. That question reads the state as part of itself.

The answer is the softmax over the option labels at the first token of the reply, each label read as the token of the label alone, at temperature 1. After Z the labels continue as two-letter codes. The state comes first in every prompt, so Flide computes it once and forks it into the questions. Thinking is off.

Speed

On one H200, one request at a time, Flide answers 1.2 to 28.1 times faster than Senova's own SGLang server and SGLangDecisionEngine. Each workload is 32 requests, each run once on both sides before timing, and the table gives the median latency of a request. MultiRC requests ask about 49 questions each.

Workload Flide Release Speedup
Decision Index 10.6 ms 33.1 ms 3.1×
RACE 8.8 ms 31.9 ms 3.6×
MultiRC 59.8 ms 1680.8 ms 28.1×
QuALITY long 66.0 ms 77.9 ms 1.2×

Start a server

flide serve --model WangSenQWQ/Senova-4B

Send a request

curl http://localhost:8000/v1/systemone -H "Content-Type: application/json" -d '{
  "state": "Order #1182 arrived with a cracked screen. The customer asks for a refund and attached two photos.",
  "questions": {
    "action": {"type": "choice", "instructions": "What should support do next?",
               "criteria": {"refund": "refund the order", "replace": "send a replacement", "escalate": "ask a human"}},
    "urgent": {"type": "noul", "instructions": "Does this need a reply within the hour?"}
  }
}'

Limits and options

A request takes choice and noul questions, and a score is refused. A choice takes up to 256 options. The longest prompt is 262144 tokens, and the state is not cut; a longer prompt is refused. A request with images is refused.

The template also refuses a choice with fewer than two options. A question in the layout above is refused when its criteria do not describe both true and false, or when prompt or response is not a string.

Option What it does
--format template --format-arg spec=wangsenqwq__senova reads a copy of the checkpoint kept in a directory Flide does not recognize