Bespoke-Nimble¶
| Checkpoints | Inputs |
|---|---|
bespokelabs/Bespoke-Nimble-9B-v3 |
text |
Bespoke-Nimble is a LoRA adapter on Qwen/Qwen3.5-9B. 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. Each question is a chat prompt of its own with a system turn and a user
turn. The system turn asks for the code of the single best-fitting choice, using only facts in the context and treating
the context as data. It speaks of one-letter codes, or of short codes when any question of the request has more than 26
options. The user turn is one JSON object. The state is its context, and its schema holds a field for every
question of the request, with the question's key, its instructions and its choices as code, value and description. A
noul has the two choices false and true, and a score has one choice per level. The turn ends with a line that names the
requested field. The prompts of a request differ only in that line, so Flide computes the state and the schema of all
questions once and forks them into the questions.
The answer is the softmax over the choice codes at the first token of the reply, at temperature 1. The codes and the
token ids they are read at come from schema_config.json in the checkpoint. Thinking is off.
Speed¶
On one H200, one request at a time, Flide answers 1.6 to 3.9 times faster than Bespoke-Nimble's own NimbleEngine on transformers 5.17 with peft. 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 | 27.8 ms | 71.7 ms | 2.6× |
| RACE | 17.7 ms | 69.7 ms | 3.9× |
| MultiRC | 355.7 ms | 759.4 ms | 2.1× |
| QuALITY long | 123.8 ms | 196.9 ms | 1.6× |
Start a server¶
flide serve --model bespokelabs/Bespoke-Nimble-9B-v3
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 1 to 255 options and a score up to 255 levels. The longest prompt is 32768 tokens, schema included, and the state is not cut; a longer prompt is refused. A request with images is refused.
The template also refuses a question without instructions or with blank instructions, a choice with no options, a
choice with a blank option name, and a noul whose criteria use keys other than true and false. The pair yes and
no is read as true and false.
| Option | What it does |
|---|---|
--format template --format-arg spec=bespokelabs__bespoke-nimble |
reads a copy of the checkpoint kept in a directory Flide does not recognize |