Vytvořeno: 12.11.2026 | Aktualizováno: 12.11.2026 21:47
gpu-broker je broker front a obsazení GPU. Umožňuje, aby se chatovací LLM, model pro obrázky a model pro video střídaly na jedné grafické kartě. Mezi modely přepíná automaticky podle toho, jaké požadavky přicházejí.
Řeší situaci, kdy se LLM a difuzní model nevejdou do VRAM současně. Bez brokera je potřeba ručně zastavit LLM, spustit ComfyUI, vygenerovat obrázek a LLM znovu pustit. Agenti, kteří LLM používají, mezitím stojí.
Podobný problém řeší na úrovni CPU, RAM a disku projekt Agent Task Queue. Ten řadí do fronty drahé příkazy (buildy, testy), které spouští více AI agentů na jednom stroji.
gpu-broker sám žádný model nespouští. Řídí servery, které už běží: llama.cpp, vLLM, Ollama nebo jiný OpenAI-kompatibilní server s /health, a k tomu ComfyUI. Všechny požadavky jdou na jednu adresu, výchozí je 127.0.0.1:8095.
Když přijde požadavek na obrázek nebo video, broker:
idle_restore_s (ve výchozím katalogu 120 s) vrátí LLM zpátky.Model se přepíná jen mezi úlohami, nikdy uprostřed úlohy. Před startem LLM musí ComfyUI uvolnit své váhy. Stav serverů broker před přepnutím znovu ověřuje, protože je mohl zastavit i někdo jiný.
scheduler.max_wait_s (výchozí 3600 s), se počítá jako interaktivní.scheduler.policy: fifo vrací striktní pořadí podle příchodu.
Každá změna stavu se zapisuje do SQLite a do JSONL logu. Příkaz gpu-broker replay přehraje vlastní log přes pravidla fronty v simulovaném čase. Slouží k měření dopadu změn plánovače.
mcp broker funguje i jako MCP server. Nabízí nástroje generate_image, generate_video, edit_image, image_to_video, make_3d, chat_local, gpu_status a další.upstreams pošle požadavky na claude-* a gpt-* skutečnému poskytovateli s klíčem klienta. Při výpadku, zaseknutém spojení nebo vyčerpané kvótě odpoví lokální model. Circuit breaker (pojistka, která po zotavení poskytovatele vrátí provoz zpět) pak přepne zpět do cloudu.Ukázka failover konfigurace podle dokumentace:
upstreams: providers: anthropic: {url: https://api.anthropic.com, api: anthropic} openai: {url: https://api.openai.com, api: openai} routes: # vyhrává první odpovídající vzor "claude-*": [anthropic, my-local-llm] "gpt-*": [openai, my-local-llm] "o3*": [openai] # jen cloud: při výpadku OpenAI vrátí 503
Broker ve výchozím stavu neukládá žádný cloudový klíč. Klíč klienta předá poskytovateli a vlastní klíč brokeru posílá v samostatné hlavičce x-gpu-broker-key.
Je potřeba Python 3.12 nebo novější. Příkaz setup najde GPU (NVIDIA nebo AMD), běžící modelové servery na obvyklých portech a jejich systemd jednotky nebo Docker kontejnery. Zapíše config.yaml, catalog.yaml a API token do broker.env, spustí službu a otevře dashboard.
pip install gpu-broker gpu-broker setup # nebo nejdřív: gpu-broker setup --dry-run
Bez GPU lze vyzkoušet demo se simulovanou kartou a simulovanými uživateli. Žádný model se nestahuje:
uvx gpu-broker demo
Ruční nastavení podporuje tři varianty podle toho, kde běží modelové servery: systemd jednotky na stejném stroji, Docker kontejnery, nebo systemd jednotky v Proxmox LXC. U Proxmoxu broker běží ve vlastním LXC nebo VM a hostitele ovládá přes SSH klíč omezený na jeden skript (forced command).
Ukázka volání API:
T="Authorization: Bearer $BROKER_TOKEN" curl -s localhost:8095/v1/chat/completions -H "$T" -H 'Content-Type: application/json' \ -d '{"model":"llama","messages":[{"role":"user","content":"hi"}]}' curl -s localhost:8095/v1/jobs -H "$T" -H 'Content-Type: application/json' \ -d '{"model":"wan2.2-5b","prompt":"a fox in snow","wait":true}'
Příkaz gpu-broker connect najde na stroji nástroje jako Continue, Cline, Aider, Codex nebo Open WebUI a nasměruje je na broker. gpu-broker disconnect vrátí původní nastavení ze zálohy. Registraci MCP serveru zvládne connect i pro Claude Code, Claude Desktop a Codex.
llama-swap přepíná mezi OpenAI-kompatibilními LLM servery. Podle autora gpu-brokeru stačí, když se střídají jen LLM. gpu-broker má smysl, když jedna karta obsluhuje chat i difuzní modely.
| Vlastnost | llama-swap | gpu-broker |
|---|---|---|
| Přepínání LLM serverů podle požadavku | ano | ano |
| LLM a ComfyUI na jedné GPU | ne | ano |
| Fronta s pozicemi, stavy úloh a logem událostí | ne | ano (SQLite + JSONL) |
| Interaktivní GPU relace pro ComfyUI | ne | ano |
| Kde běží modelové servery | procesy, které sám spouští | systemd, Docker, Proxmox LXC |
serve nespustí. Tajné údaje se čtou z prostředí, ne z konfiguračního souboru.127.0.0.1. Pro vystavení do sítě je potřeba TLS před brokerem.inputs.allow_urls: false), aby nevzniklo SSRF.