Skip to content

Commit c0ed2f3

Browse files
Polish README: add extras table, fix badge, clean up commands list
- Replace hardcoded "321 passed" badge with "passing" - Add Optional Extras table (serve, data, eval, deepspeed, dev) - Add note that --verbose must go before command name - Mention CSV/Parquet support in Data Formats - Add Changelog section linking to GitHub Releases - Remove duplicate commands from All Commands (resume, wandb, deepspeed variants) - Remove runs delete from commands list (rarely used) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 588eae4 commit c0ed2f3

File tree

1 file changed

+33
-21
lines changed

1 file changed

+33
-21
lines changed

README.md

Lines changed: 33 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<a href="https://pypi.org/project/soup-cli/"><img src="https://img.shields.io/pypi/v/soup-cli?color=blue" alt="PyPI"></a>
2222
<img src="https://img.shields.io/badge/python-3.9%2B-blue" alt="Python 3.9+">
2323
<img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License">
24-
<img src="https://img.shields.io/badge/tests-321%20passed-brightgreen" alt="Tests">
24+
<img src="https://img.shields.io/badge/tests-passing-brightgreen" alt="Tests">
2525
<a href="https://github.com/MakazhanAlpamys/Soup/actions"><img src="https://github.com/MakazhanAlpamys/Soup/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
2626
</p>
2727

@@ -361,9 +361,11 @@ soup --verbose train --config soup.yaml
361361
soup --verbose eval --model ./output --benchmarks mmlu
362362
```
363363

364+
> **Note:** `--verbose` is a global flag — it must go **before** the command name, not after.
365+
364366
## Data Formats
365367

366-
Soup supports these formats (auto-detected):
368+
Soup supports these formats (auto-detected). Files can be JSONL, JSON, CSV, or Parquet.
367369

368370
**Alpaca:**
369371
```json
@@ -476,34 +478,30 @@ soup eval --model ./output --benchmarks mmlu --run-id run_20260223_143052_a1b2
476478
## All Commands
477479

478480
```
479-
soup init [--template chat|code|medical] Create soup.yaml config
480-
soup train --config soup.yaml [--dry-run] Start training
481-
soup train --resume auto Resume from last checkpoint
482-
soup train --wandb Train with W&B logging
483-
soup chat --model ./output Interactive chat with model
484-
soup push --model ./output --repo user/name Upload to HuggingFace Hub
481+
soup init [--template chat|code|medical] Create config
482+
soup train --config soup.yaml Start training
483+
soup chat --model ./output Interactive chat
484+
soup push --model ./output --repo user/name Upload to HuggingFace
485485
soup merge --adapter ./output Merge LoRA with base model
486486
soup export --model ./output --format gguf Export to GGUF (Ollama)
487+
soup eval --model ./output --benchmarks mmlu Evaluate on benchmarks
488+
soup serve --model ./output --port 8000 OpenAI-compatible API server
489+
soup sweep --config soup.yaml --param lr=... Hyperparameter search
490+
soup diff --model-a ./a --model-b ./b Compare two models
487491
soup data inspect <path> View dataset stats
488492
soup data validate <path> --format alpaca Check format
489493
soup data convert <path> --to chatml Convert between formats
490494
soup data merge data1.jsonl data2.jsonl Combine datasets
491495
soup data dedup <path> --threshold 0.8 Remove duplicates (MinHash)
492496
soup data stats <path> Extended statistics
493-
soup runs List all training runs
494-
soup runs show <run_id> Detailed run info + loss graph
495-
soup runs compare <run_1> <run_2> Compare two runs
496-
soup runs delete <run_id> Remove a run
497-
soup eval --model ./output --benchmarks mmlu Evaluate on benchmarks
498-
soup serve --model ./output --port 8000 OpenAI-compatible API server
499-
soup sweep --config soup.yaml --param lr=... Hyperparameter search
500-
soup diff --model-a ./a --model-b ./b Compare two models
501497
soup data generate --prompt "..." --count 100 Generate synthetic data
502-
soup train --deepspeed zero2 Multi-GPU with DeepSpeed
503-
soup doctor Check environment & dependencies
504-
soup quickstart [--dry-run] Full demo: create data + config + train
498+
soup runs List training runs
499+
soup runs show <run_id> Run details + loss graph
500+
soup runs compare <run_1> <run_2> Compare two runs
501+
soup doctor Check environment
502+
soup quickstart [--dry-run] Full demo
505503
soup version Show version
506-
soup --verbose <command> Show full traceback on errors
504+
soup --verbose <command> Full traceback on errors
507505
```
508506

509507
## Requirements
@@ -512,6 +510,16 @@ soup --verbose <command> Show full traceback on errors
512510
- GPU with CUDA (recommended) or Apple Silicon (MPS) or CPU (slow)
513511
- 8 GB+ VRAM for 7B models with QLoRA
514512

513+
### Optional Extras
514+
515+
| Extra | Install | What it adds |
516+
|---|---|---|
517+
| `serve` | `pip install 'soup-cli[serve]'` | Inference server (FastAPI + uvicorn) |
518+
| `data` | `pip install 'soup-cli[data]'` | Deduplication (MinHash via datasketch) |
519+
| `eval` | `pip install 'soup-cli[eval]'` | Benchmark evaluation (lm-evaluation-harness) |
520+
| `deepspeed` | `pip install 'soup-cli[deepspeed]'` | Multi-GPU training (DeepSpeed ZeRO) |
521+
| `dev` | `pip install 'soup-cli[dev]'` | Tests + linting (pytest, ruff) |
522+
515523
## Development
516524

517525
```bash
@@ -522,13 +530,17 @@ pip install -e ".[dev]"
522530
# Lint
523531
ruff check soup_cli/ tests/
524532

525-
# Run unit tests (fast, no GPU needed — 321 tests)
533+
# Run unit tests (fast, no GPU needed)
526534
pytest tests/ -v
527535

528536
# Run smoke tests (downloads tiny model, runs real training)
529537
pytest tests/ -m smoke -v
530538
```
531539

540+
## Changelog
541+
542+
See [GitHub Releases](https://github.com/MakazhanAlpamys/Soup/releases) for version history.
543+
532544
## License
533545

534546
MIT

0 commit comments

Comments
 (0)