Single-slot hot swap
Drain in-flight requests, unload the active model, load the requested GGUF, then forward the call.
Open source · Rust · llama.cpp
One OpenAI-compatible endpoint for the GGUF models on your machine. Stop coordinating llama-server processes, ports, and GPU memory by hand.

Request lifecycle
A request names the model it needs. The switchboard protects in-flight work, changes the resident model, and keeps the endpoint stable.
Control plane
The narrow single-GPU scope makes switching predictable and the operational model easy to understand.
Drain in-flight requests, unload the active model, load the requested GGUF, then forward the call.
Use chat, completions, embeddings, responses, audio endpoints, streaming, and model discovery from existing clients.
Evict under system memory pressure and retry context sizing only when llama.cpp reports an out-of-memory condition.
Inspect Swagger UI, Prometheus metrics, health status, the live registry, and built-in usage history.
Product evidence
The live registry, API surface, and model state remain visible instead of disappearing behind a desktop wrapper.
Operational boundary
Experimental software for development machines and single-GPU home labs.
Trusted LAN deployment; it is not an internet-facing multi-tenant gateway.
One model stays resident at a time, with controlled swaps between requests.
llama.cpp required with llama-server installed and GGUF model files available locally.
Start locally
git clone https://github.com/pradeepgudipati/gguf-switchboard.git
cd gguf-switchboard
cargo build --release
./target/release/gguf-switchboard discover-models ~/models -o models.toml
./target/release/gguf-switchboard config.tomlOpen source
Review the architecture, compatibility notes, and source before running it on your machine.