| title | Quickstart |
|---|---|
| description | Set up llm-helper, pull a model, and serve it. |
This guide takes a machine from nothing to serving a model through vLLM's OpenAI-compatible endpoint. It assumes vLLM is installed, usually in a venv, and that the llm-helper release for your platform is on the machine.
- Run
llm-helper setup.
Setup detects your hardware and any existing vLLM install, generates an API key, and writes config. Each model you start later runs as its own service — a systemd unit on Linux, a launchd job on macOS. It never overwrites existing config and never restarts a running server.
- If
vllmisn't on your PATH, setVLLM_BINin~/.config/vllm-helper/config.envto its full path.
-
Run
llm-helper newwith a HuggingFace repo:llm-helper new Qwen/Qwen3-32B
This pulls the model, saves its settings as a profile, and starts serving it. The weights are downloaded by vLLM as it starts, so the first start takes as long as the download does.
To browse instead of naming a repo outright, run llm-helper search <query>.
It lists matches with each one's weight size checked against what this machine can hold, and walks you through pulling the one you pick.
- Run
llm-helper status.
status reports each running model, its port, and whether its endpoint responds.
It distinguishes a load that is still in progress from a service failing to start — a large model can take many minutes, and the two look identical from the outside.
Any OpenAI-compatible client can use the endpoint at http://<machine>:8001/v1, the first model's port, with the API key from ~/.config/vllm-helper/secrets.env.
- Run
llm-helper listto see the saved profiles. - Run
llm-helper up <profile>to serve another one beside it, on the next free port. - Run
llm-helper down <profile>to stop one.
Starting a model takes a few minutes when the weights are cached and longer on first download. Several models at once covers ports, memory, and offering every model through one port.
status,list,search,inspect,doctorandrecipes listtake--json.up,newandrestarttake--waitto block until the endpoint is healthy,--no-followto return immediately, and--timeout.- When stdout is piped, commands don't tail logs or start pickers. When stdin isn't a terminal, prompts take their defaults and sudo runs with
-n.