Ster/Docs

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#

text
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#

InputRequiredMeaning
--schema <SCHEMA>yesJSON with domain and questions; validated as a request before anything is written.
--generator-model <ROUTE>yesThe Brama alias or route the writer runs on, in Brama's model-name vocabulary.
--per-option <N>yesStates written per option of each question, above zero. Ster assumes none.
--retry-multiplier <N>yesAttempts allowed per state before an option is given up on, at least one.
--temperature <T>yesSampling 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>yesThe writer's token budget for one state, sent to Brama as max_tokens, which it holds between one and 32768.
--output <OUTPUT>yesWhere 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, --temperature or --max-tokens is 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 32768 and temperature 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, the BRAMA_URL scheme refusal, an empty route, and brama refused the completion: <status> <message> in the gateway's own words.
  • the writer produced no usable state when every attempt came back empty or duplicate.