mirror of https://github.com/razor-ai/soup.git
211 lines
18 KiB
Markdown
211 lines
18 KiB
Markdown
# Command Reference
|
||
|
||
[← Back to the Soup README](../README.md)
|
||
|
||
> The full `soup` command list.
|
||
|
||
## All Commands
|
||
|
||
```
|
||
soup init [--template chat|code|...|audio] Create config
|
||
soup autopilot --model <id> --data d.jsonl --goal <g> Zero-configsoup train --config soup.yaml Start training
|
||
soup train --config soup.yaml --tensorboard Train with TensorBoard logging
|
||
soup train --config soup.yaml --fsdp full_shard Train with FSDP2
|
||
soup train --config soup.yaml --deepspeed zero++ DeepSpeed ZeRO++ (quantized comms)
|
||
soup train --config soup.yaml --gpus auto|N Multi-GPU launch hint
|
||
soup train --config soup.yaml --gate evals/gate.yaml Eval-gated training
|
||
soup train --config soup.yaml --push-as user/repo Auto-push each checkpoint to HF as branch
|
||
soup train --config soup.yaml --push-as user/repo --hf-resume Resume from latest HF checkpoint branch
|
||
soup train --config soup.yaml --find-lr LR range finder: write recommended LR JSON
|
||
soup infer --model ./output --input p.jsonl Batch inference
|
||
soup chat --model ./output Interactive chat
|
||
soup push --model ./output --repo user/name Upload to HuggingFace
|
||
soup push --model ./output --repo user/name --collection user/coll-abc123 Add to HF Collection
|
||
soup merge --adapter ./output Merge LoRA with base model
|
||
soup export --model ./output --format gguf Export to GGUF (Ollama)
|
||
soup export --model ./output --deploy ollama Export GGUF + auto-deploy to Ollama
|
||
soup export --model ./output --format onnx Export to ONNX
|
||
soup export --model ./output --format tensorrt Export to TensorRT-LLM
|
||
soup export --model ./output --format awq Export to AWQ (4-bit)
|
||
soup export --model ./output --format gptq Export to GPTQ (4-bit)
|
||
soup deploy ollama --model m.gguf --name x Deploy GGUF to Ollama
|
||
soup deploy ollama --list List Soup-deployed models
|
||
soup deploy ollama --remove <name> Remove model from Ollama
|
||
soup deploy hf-space --model user/m --space user/s --template gradio-chat|streamlit-chat Create HF Space
|
||
soup deploy autopilot --target mac-m3|rtx-4090-24gb|... Pick PEFT+quant+spec-decoding for a hardware target
|
||
soup deploy autopilot --list List all 10 deploy profiles
|
||
soup agent synth --spec api.yaml -o ds.jsonl Parse OpenAPI/MCP/GraphQL spec into a tool-calling SFT dataset
|
||
soup agent train --spec api.yaml --base model One-shot synth + planned soup train invocation
|
||
soup agent eval --spec api.yaml --predictions p.jsonl Score predicted tool-calls vs spec catalog
|
||
soup eval benchmark --model ./output Evaluate on standard benchmarks
|
||
soup eval custom --tasks eval.jsonl Custom eval tasks from JSONL
|
||
soup eval judge --target resp.jsonl LLM-as-a-judge evaluation
|
||
soup eval auto --config soup.yaml Auto-eval from config
|
||
soup eval compare <run1> <run2> Compare eval results
|
||
soup eval leaderboard Local model leaderboard
|
||
soup eval human --input p.jsonl Human A/B evaluation
|
||
soup eval gate --suite gate.yaml Run eval-gate suite standalonesoup eval quant-check --before X --after Y --tasks t.jsonl Before/after quantsoup serve --model ./output --port 8000 OpenAI-compatible API server
|
||
soup serve --model ./output --backend vllm vLLM backend (2-4x throughput)
|
||
soup serve --model ./output --backend sglang SGLang backend
|
||
soup serve --model ./output --backend mii DeepSpeed-MII backend (live)
|
||
soup serve --model ./output --speculative-decoding draft-model Speculative decoding
|
||
soup serve --model <m> --auto-spec Auto-pair draft model for speculative decoding
|
||
soup serve --model <m> --backend vllm --prefix-cache vLLM prefix caching (RAG/agent)
|
||
soup serve --model <m> --structured-output json --json-schema s.json Constrained output
|
||
soup serve --model <m> --structured-output regex --regex-pattern '...' Regex-constrained output
|
||
soup serve --model <m> --dashboard Live dashboard + /metrics endpoint
|
||
soup serve --model <m> --trace --trace-endpoint http://localhost:4317 OpenTelemetry tracing
|
||
soup serve --model <m> --trace-log ./serve.jsonl Per-request JSONL log + rotation + secret redaction
|
||
POST /v1/adapters/activate/<name> Hot-swap active LoRA adapter
|
||
soup sweep --config soup.yaml --param lr=... Hyperparameter search
|
||
soup diff --model-a ./a --model-b ./b Compare two models
|
||
soup data inspect <path> View dataset stats
|
||
soup data validate <path> Check format (auto-detect)
|
||
soup data convert <path> --to chatml Convert between formats
|
||
soup data merge data1.jsonl data2.jsonl Combine datasets
|
||
soup data dedup <path> --threshold 0.8 Remove duplicates (MinHash)
|
||
soup data stats <path> Extended statistics
|
||
soup data generate --prompt "..." --count 100 Generate synthetic data
|
||
soup data generate ... --provider ollama Use local Ollama instance
|
||
soup data generate ... --provider anthropic Use Claude API
|
||
soup data generate ... --provider vllm Use local vLLM server
|
||
soup data generate ... --template code Domain templates (code/conversation/qa/preference/reasoning)
|
||
soup data generate ... --quality-pipeline Auto validate + filter + dedup
|
||
soup data augment <path> --strategy rephrase|translate|style LLM-driven augmentationsoup data from-traces --logs l.jsonl --format langchain --signal thumbs_up --output p.jsonl Preference pairs from traces
|
||
soup data from-traces ... --judge --min-confidence 0.7 LLM-judge confidence filter
|
||
soup data review prefs.jsonl --sample 10 Preview preference pairssoup data filter <path> --coherence 0.3 Quality filter (perplexity/coherence)
|
||
soup data sample <path> --n 1000 Random sample subset
|
||
soup data sample <path> --n 1000 --strategy diverse Cluster-based diverse sampling
|
||
soup data sample <path> --n 1000 --strategy hard Sample hardest examples
|
||
soup data sample <path> --pct 10 Sample by percentage
|
||
soup data split <path> --val 10 --test 10 Split into train/val/test
|
||
soup data split <path> --val 500 --absolute Split with absolute counts
|
||
soup data split <path> --val 10 --stratify category Stratified by field
|
||
soup data search "code instructions" Search HuggingFace Hub for datasets
|
||
soup data search --sort likes --limit 10 Sort and paginate search results
|
||
soup data preview teknium/OpenHermes-2.5 Preview remote dataset metadata
|
||
soup data download user/dataset -o data.jsonl Download HF dataset as JSONL
|
||
soup data download user/ds --samples 1000 Stream first 1000 samples
|
||
soup data register --name my-ds --path d.jsonl --format alpaca Register dataset
|
||
soup data unregister --name my-ds Remove from registry
|
||
soup data push --input d.jsonl --hf-dataset user/name Upload local JSONL as HF dataset
|
||
soup data registry List all registered datasets
|
||
soup data demo List bundled demo JSONL fixtures
|
||
soup data demo alpaca_demo --output ./d.jsonl Copy a bundled demo JSONL fixture
|
||
soup data forge --docs ./docs --task sft --target-rows 1000 Synthetic data pipeline + provenance
|
||
soup data score --input rows.jsonl Composite quality scorecard (PII + toxicity + lang + edu)
|
||
soup data decontaminate --input rows.jsonl --benchmarks mmlu,gsm8k Drop benchmark-overlap rows
|
||
soup data toxicity --input rows.jsonl -o tox.jsonl Flag toxic rows (keyword baseline)
|
||
soup data langdetect --input rows.jsonl -o tagged.jsonl Tag each row with language code
|
||
soup data pii --input rows.jsonl -o pii.jsonl Flag rows containing email/phone/SSN/credit-card
|
||
soup data educational --input rows.jsonl -o scored.jsonl Score educational value per row
|
||
soup train --config soup.yaml --tracker mlflow MLflow / SwanLab / Trackio integration
|
||
soup profile --config soup.yaml Estimate memory/speed before training
|
||
soup profile --config soup.yaml --gpu a100 Estimate for specific GPU
|
||
soup profile --config soup.yaml --json Machine-readable output
|
||
soup cost --config soup.yaml Estimate training cost in USD across providers
|
||
soup cost --config soup.yaml --gpu H100 Estimate training cost for specific GPU
|
||
soup adapters list ./output/ Scan for LoRA adapters
|
||
soup adapters info ./output/checkpoint-500/ Show adapter metadata
|
||
soup adapters compare adapter1/ adapter2/ Compare two adapters
|
||
soup loop init <model> --eval <s> --baseline <b> Create .soup/loop.yaml (data flywheel)
|
||
soup loop status Counters + status (traces / pairs / runs / shipped)
|
||
soup loop watch [--detach] [--max-iter N] Harvest → train → gate → deploy daemon
|
||
soup loop pause / soup loop resume Atomic status flip
|
||
soup loop canary <adapter> --traffic 5% Promote canary + auto-rollback on MAJOR
|
||
soup loop replay [<iter-id>] Replay a recorded iteration manifest
|
||
soup serve --model m --adapters chat=./c code=./d Multi-adapter serving
|
||
soup migrate --from llamafactory config.yaml Import config from LLaMA-Factory
|
||
soup migrate --from axolotl config.yml Import config from Axolotl
|
||
soup migrate --from unsloth notebook.ipynb Import config from Unsloth notebook
|
||
soup migrate --from llamafactory c.yaml --dry-run Preview without writing
|
||
soup recipes list List all 43 ready-made recipes
|
||
soup recipes show llama3.1-8b-sft Print recipe YAML
|
||
soup recipes use llama3.1-8b-sft Copy recipe to soup.yaml
|
||
soup recipes search "reasoning" Search by keyword/task/size
|
||
soup registry push --run-id <id> --name n --tag v1 Register runsoup registry list [--name n] [--tag v1] List registry entriessoup registry show <ref> Entry details + artifacts + ancestors
|
||
soup registry diff <a> <b> Side-by-side config + eval delta
|
||
soup registry search "medical" Search name/base/task/notes
|
||
soup registry promote <ref> --tag prod Tag an entry (e.g. promote to prod)
|
||
soup registry delete <ref> --yes Remove entry (cascades)
|
||
soup history <name> Lineage DAG tree for a namesoup can pack --entry-id <id> --out r.can Pack registry entry as .cansoup can inspect r.can Preview manifest without extracting
|
||
soup can verify r.can Verify schema + config parseability
|
||
soup can fork r.can --out fork.can --modify training.lr=5e-5 Fork + re-pack
|
||
soup can run r.can --yes [--deploy] [--env-capture env.txt] Run a .can end-to-end
|
||
soup can publish r.can --hf-hub user/name Publish .can to HF Hub as dataset
|
||
soup runs List training runs
|
||
soup runs show <run_id> Run details + loss graph + cost
|
||
soup runs compare <run_1> <run_2> Compare two runs
|
||
soup runs replay <run_id> Replay summary + loss curve from history
|
||
soup why [run_id] Explain training anomalies (heuristic)
|
||
soup tui Full-screen Textual dashboard (requires [tui] extra)
|
||
soup train --config soup.yaml --profile Record torch.profiler trace to <output>/profiles/
|
||
soup --log-level quiet|normal|verbose|debug Global logging tier (Rich-formatted)
|
||
soup ui [--port 7860] Web UI (experiments, training, data)
|
||
soup ui --public [--auth-token T] Phone-scannable Web UI (v0.53.9)
|
||
soup tokenizer train --input c.jsonl --vocab-size N Train BPE tokenizer (v0.53.9)
|
||
soup bench <model> --p50 --p95 Bench with tail-latency percentiles (v0.53.9)
|
||
soup bench <model> --backend auto Auto-detect transformers/mlx backend (v0.53.9)
|
||
soup serve --reasoning-parser deepseek-r1 Strip <think> blocks from responses (v0.53.9)
|
||
soup doctor [--nccl] Check environment (optionally check NCCL bandwidth)
|
||
soup quickstart [--dry-run] Full demo
|
||
soup adapters scan <adapter> Spectral backdoor scan (rank-1 dominance + outlier detection)
|
||
soup adapters sign <adapter> [--backend X] Compute Merkle-root manifest (.soup-signature.json)
|
||
soup adapters verify <adapter> [--strict] Verify manifest against current files
|
||
soup adapters check-safetensors <adapter> [--strict] Refuse pickle / PyTorch-classic weights
|
||
soup adapters merge ... --license <id> --license-override <reason> License-conflict gate
|
||
soup airgap-bundle --model <m> --output <out.tar> Signed tarball for data-diode transfer
|
||
soup eval unlearning <run-id> --benchmark tofu|muse|wmdp Forget Quality + Model Utility + PrivLeak verdict
|
||
soup edit set --base <m> --method rome|memit|alphaedit --subject "..." --target "..." Surgical knowledge edit (--plan-only available)
|
||
soup edit diff <before-run> <after-run> --probes p.jsonl Knowledge-injection diff visualizer
|
||
soup ingest --source langfuse|langsmith|helicone|openpipe|otel|openai-stored --logs <jsonl> Universal trace importer (6 SaaS adapters → normalised JSONL)
|
||
soup prune-prompt --input <jsonl> --output <jsonl> --min-frequency 0.95 Detect + strip shared system-prompt prefix
|
||
soup data active-sample --input <jsonl> --output <jsonl> --budget N Top-N uncertain prod traces for human review
|
||
soup ab --input <jsonl> --metric latency|judge_score|retry_rate mSPRT sequential A/B (decision: continue / reject_h0 / accept_h0)
|
||
soup drift-alarm --reference <jsonl> --live <jsonl> --threshold 0.2 Rolling-KL drift alarm (exit 3 on drift)
|
||
soup drift-alarm ... --slack-url <https> | --discord-url <https> Optional SSRF-validated webhook on drift detected
|
||
soup tunability --list List built-in candidate-base catalogue
|
||
soup tunability --dataset <jsonl> [--candidates a,b,c] Probe 8 candidate bases + Pareto frontier report
|
||
soup plan --config soup.yaml Pre-flight summary + write soup.tfstate
|
||
soup apply --config soup.yaml [--dry-run] Lock-and-execute; refuses on drift (exit 3)
|
||
soup env lock | status | check Hermetic env lockfile + ABI drift detection (exit 3)
|
||
soup completions bash | zsh | fish Shell completion script (sourceable via eval)
|
||
soup license-advisor --target b2c|defense|embedded Recommend license-clean base for deploy target
|
||
soup license-advisor ... --license <id> --mau N Per-license downstream-risk check (exit 3 on block)
|
||
soup probe sae-diff <sae> <pre.json> <post.json> [--top-k N] SAE feature diff between pre/post-FT activations (v0.66.0)
|
||
soup probe sleeper <base> [--evidence ev.json] [--output o.json] Calibrated sleeper-agent defection probe (v0.66.0)
|
||
soup probe interference <losses.json> [--output o.json] Pairwise N×N adapter interference matrix (exit 2 on MAJOR; v0.66.0)
|
||
soup probe pack <base> [--output o.json] Per-base calibrated probe pack manifest (v0.66.0)
|
||
soup probe pack --list List bundled probe-pack bases (v0.66.0)
|
||
soup adapters blame ... --top-k 50 Live DataInf-style influence runner (v0.66.0, closes #171)
|
||
soup adapters merge ... --strategy cmaes --eval <s> --budget 1h CMA-ES evolutionary merge (v0.67.0)
|
||
soup adapters pr <title> --base-sha <hex> --adapter <path> GitHub-shaped adapter PR Markdown / JSON (v0.67.0)
|
||
soup adapters bisect <ckpt>... --eval-command "..." Binary search over training history (v0.67.0)
|
||
soup lock write --base-sha <h> --dataset-sha <h> --env-hash <h> Write soup.lock (v0.67.0)
|
||
soup lock show / soup lock check Show + drift-check (exit 3 on drift)
|
||
soup compile <program.py> --eval <suite> [--optimizer mipro|gepa|textgrad|copro|bootstrap_fewshot] DSPy / GEPA prompt-program compiler (v0.68.0)
|
||
soup distill-prompt --traces <jsonl> --teacher <m> --student <m> --strategy sft|preference|kl Distill prompt-heavy traces to small FT (v0.68.0)
|
||
soup compile-tools <spec.json|yaml> --eval <jsonl> [--optimizer textgrad|gepa] TextGrad / GEPA tool-schema optimiser (v0.68.0)
|
||
soup apple-adapter <source-dir> --direction hf-to-mlx|mlx-to-hf|hf-to-apple|mlx-to-apple --output <dir> [--sign] HF / MLX / Apple FoundationModels adapter conversion (v0.68.0)
|
||
soup local-rl init --db <path> Create personal-LLM flywheel SQLite schema (v0.68.0)
|
||
soup local-rl status --db <path> Print interactions / thumbs-up / thumbs-down counters
|
||
soup local-rl record --db <path> --prompt <q> --response <r> --thumb up|down Append thumbs record
|
||
soup local-rl harvest --db <path> -o <pairs.jsonl> Harvest DPO pairs from thumbs into JSONL
|
||
soup local-rl train --db <path> --backend ollama|mlx --model <id> Nightly DPO/KTO/ORPO train (v0.68.1)
|
||
soup build <manifest.yaml> [--dry-run] dbt-for-SFT DAG: validate + plan dataset transforms (v0.69.0)
|
||
soup expect <data.jsonl> <suite.yaml> Expectations suite: PII / token-length / refusal / judge (v0.69.0)
|
||
soup data gen-magpie --base <m> --provider ollama|anthropic|vllm --target N [--plan-only] Magpie synthetic generator (v0.69.0)
|
||
soup data persona-mix --prompts <jsonl> --n N --output <jsonl> Persona-Hub diversity sampler (v0.69.0)
|
||
soup data brain-rot <data.jsonl> [--strict] Brain-rot detector — arXiv 2510.13928 (v0.69.0)
|
||
soup iterative-dpo --base-model <m> --reward-model <rm> --prompts <p.jsonl> --output-dir <out> --rounds N --pairs-per-round N [--plan-only] Iterative DPO loop driver (v0.70.0; live runner v0.70.1)
|
||
soup train --reward-hack-detector info_rm|rm_ensemble [--reward-hack-halt] Reward-hacking detector for GRPO/PPO (v0.70.0; live callback v0.70.1)
|
||
soup train --uld-strategy wasserstein|topk_align [--uld-top-k N] Cross-tokenizer ULD on task='distill' (v0.70.0; live projection v0.70.1)
|
||
soup train --minillm-enabled [--minillm-teacher-mix-ratio 0.3] MiniLLM reverse-KL on-policy distillation (v0.70.0; live v0.70.1)
|
||
soup train --rl-checkpoint-save-every-steps N [--rl-checkpoint-keep-last N] Mid-epoch checkpoint for PPO/GRPO (v0.70.0; live save_state v0.70.1)
|
||
soup train --echo-trap-enabled [--echo-trap-threshold 0.6 --echo-trap-halt] RAGEN echo-trap detector for multi-turn agent RL (v0.70.0; live callback v0.70.1)
|
||
soup version [--full] [--json] Show version (--full: system info, --json: JSON output)
|
||
soup --verbose <command> Full traceback on errors
|
||
```
|
||
|
||
|