3.8 KiB
Lokale Inferenz begrenzen
Die Workstation verwendet hermes-local als stabilen API-Modellnamen. Das
Routineprofil lädt Qwen3.5-4B Q4_K_M (Unsloth-Revision
e87f176479d0855a907a41277aca2f8ee7a09523), das große Profil weiterhin das
vorhandene Qwen3.8-27B. Die tatsächliche Auswahl steht in
~/.config/hermes-stack-maintenance/llama.env.
hermes-stack-model routine bzw. hermes-stack-model large schaltet explizit um
und beendet dabei laufende Gateway-Anfragen. Beide Dateien bleiben erhalten.
Es wird nur ein Hauptmodell gleichzeitig geladen. Die lokalen profilspezifischen
Konfigurationen llama-routine.env und llama-large.env enthalten absolute
Modellpfade. scripts/prepare-workstation.py prüft bzw. lädt die fest versionierten
Modelldateien und erzeugt fehlende Profile. Die vollständige Neuinstallation ist
in NEW_WORKSTATION.md beschrieben. Der normale Installer
allein lädt keine Gewichte und erzeugt diese Profile nicht.
Die alten Aliasse qwen38-27b-local und qwen36-27b-local bleiben als
Kompatibilitätsnamen für bestehende Sitzungen erreichbar. Sie bezeichnen dann
ebenfalls das aktiv ausgewählte Modell; die tatsächliche Modelldatei zeigt
/props.model_path. Neue Sitzungen und entbundene Cronjobs verwenden hermes-local.
Drei Schutzebenen
- Der Runner setzt
--n-predict 2048als Serverstandard. Das ist kein harter Schutz gegen abweichende Clientparameter. - In Hermes bekommt der lokale Custom-Provider
extra_body.max_tokens: 2048,t_max_predict_ms: 540000und ein Request-Timeout von 600 Sekunden. Der native Generierungszeitgeber von llama.cpp prüft nur bei Zeilenumbrüchen und ersetzt deshalb keine unabhängige Überwachung.agent.run_budget_seconds: 1800begrenzt einen ganzen Auftrag einschließlich mehrerer Modellaufrufe und Wiederholungen. hermes-stack-llama-watchdog.timerprüft alle 15 Sekunden/slots. Bleibt dieselbe Anfrage 600 Sekunden beobachtet aktiv oder überschreitet sie 2048 Tokens, startet die Überwachung den Hauptmodellserver neu. Dieses letzte Auffangnetz hat eine Verzögerung von bis zu einem Prüfintervall nach erstmaliger Beobachtung. Die Tokenzahl kann zwischen zwei Prüfungen überschritten werden.
Der Watchdog startet keine absichtlich gestoppten Dienste. Einzelne fehlgeschlagene Proben führen nicht zum Neustart; erst 600 Sekunden zusammenhängende Fehler bei demselben aktiven Server. Wartung, Modellwechsel und Updater verwenden dieselbe Sperre. Neustarts haben mindestens 600 Sekunden Abstand. Ein Bootwechsel setzt monotone Zeitstempel zurück. Der Status speichert keine Prompts oder Antworten; Diagnosen stehen ausschließlich im lokalen Journal, ohne Chatbenachrichtigung.
Die Grenzen stehen in config.env (Watchdog), llama.env (Serverstandard) und
~/.hermes/config.yaml (Hermes). Bei Änderungen diese Werte gemeinsam pflegen.
Grenzen gelten pro Hauptmodell; das CPU-Kompressionsmodell bleibt getrennt.
Prüfung und Rücknahme
systemctl --user status hermes-stack-llama-watchdog.timer
journalctl --user -u hermes-stack-llama-watchdog.service
cat ~/.local/state/hermes-stack-maintenance/llama-watchdog.json
Die Bereitstellung sichert vorherige Konfigurationen unter
~/.local/state/hermes-stack-maintenance/inference-limits-*. Ein Rückwechsel
auf large behält die Schutzmaßnahmen bei. Zum vollständigen Rückbau Timer
deaktivieren, die gesicherten Konfigurationen wiederherstellen und Modellserver
sowie Gateway neu starten. Cronjob-Modellbindungen sind über hermes cron edit JOB_ID --model MODELL --provider custom wiederherstellbar.
Quellen: llama.cpp Serverparameter, Qwen3.5-4B, verwendete GGUF-Dateien.