Obsah

gpu-broker

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.

Jak funguje

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:

  1. nechá doběhnout rozpracované chatové požadavky,
  2. zastaví LLM server,
  3. spustí úlohu v ComfyUI,
  4. požadavky, které mezitím přijdou, zařadí do fronty,
  5. po době klidu 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ý.

Plánování fronty

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.

Hlavní funkce

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.

Instalace

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.

Srovnání s llama-swap

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

Bezpečnost

Omezení

Související články

Zdroje