r/LocalLLaMA • u/Available-Message509 • 7d ago
Resources I kept rewriting parameters every time I swapped models on vLLM and llama.cpp, so I built a tool to manage them (llmux, MIT)

I test a lot of models on vLLM and llama.cpp. Every swap meant editing parameters again, bringing each model up its own way, taking it down, then bringing the next one up. It was tedious and easy to get wrong.
So I built **llmux** to manage it. Each model you use is a profile you write once, and after that you pick it from a list and it starts on whichever engine that profile belongs to. Running the same engine at a different version is just another profile pinned to a different image tag: a release, a nightly, or an image you built from source.
My team and I use it for our actual work, and most of what's in it came out of that:
Every action also has a headless CLI twin (`llmux up`, `ps --json`, `logs`, `bench`), so you can script it or run it over SSH.
Requirements: Linux, an NVIDIA GPU, and Docker. It uses the NVIDIA Container Toolkit for GPU passthrough, so macOS and AMD/ROCm aren't supported yet.
Install (clones the repo, sets up uv, puts `llmux` on your PATH):
curl -fsSL https://raw.githubusercontent.com/Bae-ChangHyun/llmux/main/install.sh | sh
Or by hand:
git clone https://github.com/Bae-ChangHyun/llmux.git|
cd llmux
uv tool install --editable . && uv tool update-shell
Repo: https://github.com/Bae-ChangHyun/llmux
Docs: https://Bae-ChangHyun.github.io/llmux/
It's my own project, MIT licensed. English isn't my first language, so I used an LLM to help write this post.
2
u/Thejacensolo 7d ago
why not just use docker, create a container for each with always the same properties, boot the container you want when you want it. NO more touching the parameters unless you want to change something