|
32 | 32 | Soup turns the pain of LLM fine-tuning into a simple workflow. One config, one command, done. |
33 | 33 |
|
34 | 34 | ```bash |
35 | | -pip install 'soup-cli[train]' # add [train] to fine-tune; bare `soup-cli` is the light CLI |
| 35 | +pip install "soup-cli[train]" # add [train] to fine-tune; bare `soup-cli` is the light CLI |
36 | 36 | soup init --template chat |
37 | 37 | soup train |
38 | 38 | ``` |
@@ -68,7 +68,7 @@ infrastructure instead of improving models. Soup fixes that. |
68 | 68 | separates them. The default is deliberately conservative; see the CHANGELOG. |
69 | 69 | - **Two blocking bugs fixed:** the hardware-fit gate **refused to train any model you merged |
70 | 70 | yourself** (a local checkpoint's name has no size marker, so it guessed 7B and predicted |
71 | | - 16 GB), and every `pip install 'soup-cli[extra]'` hint printed **without the extra** — |
| 71 | + 16 GB), and every `pip install "soup-cli[extra]"` hint printed **without the extra** — |
72 | 72 | 17 sites where the suggested command succeeds and leaves the feature still broken. |
73 | 73 |
|
74 | 74 | ```bash |
@@ -104,26 +104,37 @@ Full history: [CHANGELOG.md](CHANGELOG.md) · [GitHub Releases](https://gi |
104 | 104 | ### 1. Install |
105 | 105 |
|
106 | 106 | ```bash |
107 | | -pip install soup-cli # light: CLI + config + data tools (no PyTorch) |
108 | | -pip install 'soup-cli[train]' # add the training stack (torch, transformers, peft, trl, …) |
109 | | -pip install git+https://github.com/MakazhanAlpamys/Soup.git # latest dev |
| 107 | +# Light core: CLI + config + data tools, no PyTorch |
| 108 | +pip install soup-cli |
| 109 | + |
| 110 | +# Add the training stack (torch, transformers, peft, trl, datasets, …) |
| 111 | +pip install "soup-cli[train]" |
| 112 | + |
| 113 | +# Everything (train + serve + ui + data) in one shot |
| 114 | +pip install "soup-cli[all]" |
| 115 | + |
| 116 | +# Or from GitHub (latest dev) |
| 117 | +pip install git+https://github.com/MakazhanAlpamys/Soup.git |
110 | 118 | ``` |
111 | 119 |
|
112 | | -> **On Windows `cmd.exe`, swap the single quotes for double quotes:** |
113 | | -> `pip install "soup-cli[train]"` |
| 120 | +The full extras table (`fast`, `mlx`, `serve`, `eval`, `ui`, `vision`, `audio`, …) lives in |
| 121 | +[`docs/models.md`](docs/models.md#optional-extras). |
| 122 | + |
| 123 | +> **Use double quotes around the extra.** They are the only spelling that works in |
| 124 | +> every shell — `cmd.exe`, PowerShell, bash, and zsh. |
114 | 125 | > |
115 | | -> The commands above are written for bash / zsh / PowerShell, where `'…'` quotes a |
116 | | -> string. `cmd.exe` has no single-quote quoting — it passes the characters straight |
117 | | -> to pip, which then rejects them: |
| 126 | +> Older tutorials and videos (including some of ours) show the single-quoted |
| 127 | +> `pip install 'soup-cli[train]'`. That is bash / zsh / PowerShell syntax, and it |
| 128 | +> fails on Windows `cmd.exe`, which has no single-quote quoting and hands the |
| 129 | +> quotes straight to pip: |
118 | 130 | > |
119 | 131 | > ``` |
120 | 132 | > ERROR: Invalid requirement: "'soup-cli[train]'": Expected package name at the start of dependency specifier |
121 | 133 | > ``` |
122 | 134 | > |
123 | | -> That is pip parsing a literal `'`, not a problem with the package. Double quotes |
124 | | -> work in **every** shell — cmd, PowerShell, bash, and zsh — so `pip install |
125 | | -> "soup-cli[train]"` is always safe. (Unquoted `pip install soup-cli[train]` also |
126 | | -> works in cmd and PowerShell, but zsh reads `[train]` as a glob and fails.) |
| 135 | +> If you hit that, swap the `'` for `"` — pip is rejecting a literal quote |
| 136 | +> character, nothing is wrong with the package. (Dropping the quotes entirely |
| 137 | +> works on Windows too, but zsh then reads `[train]` as a glob and fails.) |
127 | 138 |
|
128 | 139 | `soup init`, `soup data …`, and the other data/inspection commands work on the light install. |
129 | 140 | Fine-tuning (`soup train`) needs the `[train]` extra. |
@@ -159,7 +170,7 @@ A complete `soup.yaml`: |
159 | 170 | ```yaml |
160 | 171 | base: meta-llama/Llama-3.1-8B-Instruct |
161 | 172 | task: sft |
162 | | -# backend: unsloth # 2-5x faster, pip install 'soup-cli[fast]' |
| 173 | +# backend: unsloth # 2-5x faster, pip install "soup-cli[fast]" |
163 | 174 |
|
164 | 175 | data: |
165 | 176 | train: ./data/train.jsonl |
|
0 commit comments