Sieve¶
| Checkpoints | Inputs |
|---|---|
| sthanika-ai/Sieve-31B | text |
Sieve-31B is a LoRA adapter on google/gemma-4-31B-it at revision 842da37. Flide reads the base checkpoint and runs
the adapter beside its weights, as peft does, with no extra package.
Flide asks it with the release's own prompt, the chat layout of decider-ai 1.6.0. Each question is a chat prompt of its own with one user turn and thinking off. The turn holds "Context:" and the state, then "Question:" with the question and "Options:" with one line per option, lettered (A), (B) and so on; the model's turn opens with "Answer: (". A state that is not a string is written as JSON, and an array of 8 or more items writes each item's index into it. A choice shows each option's name and, when it has one, its description; an option that reads as "none of the above" is shown as "not listed here". A noul shows "no" and then "yes", each with the request's description when there is one, and a noul without instructions is asked as "Which answer fits the context?". A score shows its levels as "0: …", "1: …" and so on. Past 10 options each label is its own token, A to Z and then two-letter labels.
The answer is the softmax over the option letters at the last position of the prompt, read from the output head's rows without Gemma's soft cap, at the fixed temperature 8.5495. The state comes first in every prompt, so Flide computes it once and forks it into the questions.
Speed¶
On one H200, one request at a time, Flide answers 2.5 to 14.3 times faster than Sieve's own SlotsEngine (decider-ai 1.6.0 with peft on transformers 5.17). 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 | 67.0 ms | 198.7 ms | 3.0× |
| RACE | 46.7 ms | 118.8 ms | 2.5× |
| MultiRC | 369.9 ms | 5274.5 ms | 14.3× |
| QuALITY long | 444.2 ms | 1148.2 ms | 2.6× |
Start a server¶
flide serve --model sthanika-ai/Sieve-31B
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, noul and score questions. A choice takes up to 255 options and a score up to 10 levels. The longest prompt is 32768 tokens and the state is not cut; a longer prompt is refused. A request with images is refused.
The template also refuses a question with fewer than two options, and a question without instructions unless it is a noul with at least one description.
| Option | What it does |
|---|---|
--format template --format-arg spec=sthanika-ai__sieve |
reads a copy of the checkpoint kept in a directory Flide does not recognize |