llama-launcher
A Python GUI for generating llama.cpp server launch commands, with a machine-learning-driven optimizer that searches thread, batch, and KV-cache settings for the best measured performance on the user's hardware.
llama-launcher is a point-and-click desktop application for configuring and generating llama-server command-line arguments, so a user does not have to type them manually; it requires llama.cpp to already be built on the machine and does not bundle it. On launch, it detects and displays the local CPU model and core/thread count, GPU model, VRAM, and total system RAM using Windows Management Instrumentation, without third-party libraries.
Its auto-optimizer uses Bayesian (Optuna TPE) search across threads, effective thread batch, batch size, micro-batch size, cache types, and speculative decoding settings, validating any trial that changes KV cache quantization against a perplexity baseline with llama-perplexity before accepting it, and falling back to the baseline command if no trial beats it. Optimizer settings such as score weighting, context size, trial count, and corpus path persist between sessions, and a live progress window shows the current step and estimated time remaining.
Failed benchmark or perplexity trials return a low finite score so the optimizer can still learn from bad regions, while a user cancellation prunes the trial outright.