CLI¶
| Command | Does |
|---|---|
inspect DIR |
summarize and verify saved PEFT adapter; see How-to: inspect adapter |
eval BASE.jsonl EDIT.jsonl [--boot N] [--seed N] [--floor A.jsonl B.jsonl] [--ignore-header] |
compare two arms from per-item records, print format_report; --boot bootstrap resamples (default 10000), --seed bootstrap seed (default 0), --floor two base-arm runs for noise floor, --ignore-header skips run-header check; see How-to: run eval end to end |
build RECIPE.json --base MODEL_DIR --out DIR [--card LICENSE] [--force] |
build PEFT adapter from recipe file and base model weights; print one line per module (out x in, rank), then wrote DIR; see How-to: build adapter from recipe file |
export DIR [--gguf OUT.gguf --arch ARCH] [--card LICENSE] [--force] |
verify adapter in DIR, then write GGUF LoRA adapter, model card or both; see How-to: build adapter from recipe file |
Every command takes --json: one JSON object on stdout instead of text.
eval¶
- Run headers: when
BASE.header.jsonandEDIT.header.json(besideBASE.jsonl,EDIT.jsonl) both exist, keys must match,deviceignored. Difference: exit 1. One missing: no check.--ignore-header: no check. --floor A.jsonl B.jsonl: report addsnoise floor (score)andnoise floor (tokens)lines; see How-to: compare arms.--json:PairedResultfields plusfloor(null, orresultandexceeds); non-finite numbers asnull.
build¶
--base MODEL_DIR: directory withmodel.safetensors, ormodel.safetensors.index.jsonplus shards. Read only for steps that need base weight.--out DIR: adapter directory. Non-emptyDIRrefused unless--force;--forcekeeps other files there (e.g. oldREADME.md).--card LICENSE: also writeREADME.mdmodel card with that license.
export¶
- Needs
--gguf,--cardor both. Neither: error. --gguf OUT.ggufneeds non-empty--arch(written togeneral.architecture, e.g.qwen35) andggufextra (pip install "astro-weights[gguf]"). Module mapping limits: How-to: export GGUF.--card LICENSE: writeREADME.mdmodel card intoDIR.- Existing
OUT.gguforDIR/README.mdrefused unless--force.OUT.ggufnaming one of adapter's own files refused, even with--force. - Adapter with hash problems: error, nothing written.
JSON output¶
| Command | Object |
|---|---|
inspect |
base_model, rank, modules (each module, shape, rank, norm_B, norm_A, norm_BA), manifest (bool), problems |
eval |
see eval |
build, export |
written: list of paths written |
Exit codes¶
- All commands: 0 ok, 1 problems found or check failed, 2 usage error or unreadable input.
inspect: 1 on hash problems (problem:lines on stderr, also with--json).eval: 1 when run headers differ; 2 on unreadable file or arms that do not pair.buildandexport: 0 on success, 2 on any error.- Error goes to stderr as line starting
error:; read and parse errors name file.