ster decisions synthesize
Write labelled decisions with a hosted model through Brama: for every option of every question in a schema, states that clearly belong to that option, each labelled with it by construction.
Invocation and purpose#
ster decisions synthesize --schema <SCHEMA> --generator-model <ROUTE> --output <OUTPUT> --per-option <N> --retry-multiplier <N> --temperature <T> --max-tokens <N>The schema is a request with no state: a domain the writer is told to write in, such as a customer support message to an online shoe store, and the questions of a decision. For every option of every question — option names of a choice, level texts of a score, yes and no of a noul — the writer is asked for states that clearly belong to that option, and each state is recorded with that option as its answer. Nothing judges the written state afterwards: a poor writer makes a poor set, and `ster decisions benchmark` on a held-out split is what says so. The hosted call goes through Brama, like `ster pairs synthesize --generator brama`, and reads the same BRAMA_URL and BRAMA_BEARER.
Inputs and options#
| Input | Required | Meaning |
|---|---|---|
--schema <SCHEMA> | yes | JSON with domain and questions; validated as a request before anything is written. |
--generator-model <ROUTE> | yes | The Brama alias or route the writer runs on, in Brama's model-name vocabulary. |
--per-option <N> | yes | States written per option of each question, above zero. Ster assumes none. |
--retry-multiplier <N> | yes | Attempts allowed per state before an option is given up on, at least one. |
--temperature <T> | yes | Sampling temperature of the writer, sent to Brama; above zero, or every attempt replays one state. Brama holds it to at most 2. |
--max-tokens <N> | yes | The writer's token budget for one state, sent to Brama as max_tokens, which it holds between one and 32768. |
--output <OUTPUT> | yes | Where the labelled decisions are written. |
Output and state#
Prints an object with path and report; the report carries generator (brama:<route>), domain, questions, requested states, attempts made, kept, rejected_empty and rejected_duplicates — a state is dropped when the writer returned nothing or when the same text, case-insensitively, was already kept — and the temperature and max_tokens the states were written with. Progress on stderr reads writing state <i> of <n> for question '<id>' option <name> (attempt <k>).
Refusals#
failed to read <path>;invalid decision schema <path>;a decision schema needs a domain;a decision schema needs at least one question; and the request refusals of `ster decide` for the questions.- Leaving out
--per-option,--retry-multiplier,--temperatureor--max-tokensis a usage error that names the flag, exit 2. synthesis needs at least one state per option;synthesis needs a retry multiplier of at least one.- Brama's two documented bounds, checked before the call in Brama's own words:
max_tokens must be between one and 32768andtemperature must be finite and between zero and 2. - The Brama environment refusals of `ster pairs synthesize`:
BRAMA_BEARER is unset or empty; export Ster's own Brama bearer before running this command, theBRAMA_URLscheme refusal, an empty route, andbrama refused the completion: <status> <message>in the gateway's own words. the writer produced no usable statewhen every attempt came back empty or duplicate.