mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-10 00:24:42 +02:00
feat(llama_server): watchdog auto-réparation du wedge ROCm
Service systemd local sur gpu-01 qui sonde une vraie génération sur :1234 (pas juste /health, qui ment quand le slot d'inférence est figé). Sur N échecs consécutifs → systemctl restart llama-server en local (root, sans SSH/sudo distant). Gère le 503 "Loading model" post-restart sans le compter comme échec. Complète le llm-heartbeat (rôle litellm) : le heartbeat empêche la péremption par inactivité de la connexion ; le watchdog répare le figeage du serveur lui-même. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
6e6dd45ac5
commit
0cb886acf7
7 changed files with 157 additions and 5 deletions
|
|
@ -144,9 +144,27 @@ systemctl status llm-heartbeat ; journalctl -u llm-heartbeat -f # v
|
|||
⚠️ Le heartbeat appelle `hermes-default` en continu → si on bascule cet alias sur **Claude**
|
||||
(API facturée), mettre `llm_heartbeat_enabled: false`.
|
||||
|
||||
### Reste à faire (durci, mais pas zéro-risque)
|
||||
### Fix racine #2 — watchdog gpu-01 (déployé)
|
||||
|
||||
Le heartbeat empêche la *péremption par inactivité*. Si `llama-server` **se fige** carrément
|
||||
(wedge ROCm), le heartbeat le **détecte** (échecs loggués) mais ne le **répare pas** encore.
|
||||
Évolution possible : sur N échecs consécutifs du heartbeat → restart auto de `llama-server`
|
||||
**et** `litellm` (watchdog actif). Pour l'instant : détection + alerte manuelle.
|
||||
Le heartbeat empêche la *péremption par inactivité*, mais si `llama-server` **se fige**
|
||||
carrément (wedge ROCm), il le **détecte** sans le **réparer**. C'est désormais couvert par le
|
||||
`llama-watchdog` (rôle `llama_server`) : un service systemd **local sur gpu-01** qui sonde une
|
||||
**vraie génération** sur `:1234` toutes les `llama_watchdog_interval` s (défaut 20 s,
|
||||
`max_tokens:1`, `/no_think`). Sur `llama_watchdog_failures` échecs consécutifs (défaut 3) →
|
||||
`systemctl restart llama-server` **en local** (tourne en root, ni SSH ni sudo distant), puis
|
||||
cooldown jusqu'à ce que la génération remarche (gère le `503 "Loading model"` du rechargement
|
||||
VRAM sans le compter comme échec).
|
||||
|
||||
```bash
|
||||
ansible-playbook -i inventory.yml playbooks/gpu-01.yml --tags llama_server # déploie le watchdog
|
||||
systemctl status llama-watchdog ; journalctl -u llama-watchdog -f # vérifier
|
||||
```
|
||||
|
||||
Pourquoi sur gpu-01 (et pas piloté depuis storage-01 via le heartbeat) : le restart est
|
||||
**local** → pas de SSH/sudo inter-hôtes, répare même si LiteLLM ou le réseau cluster est en
|
||||
vrac, et sonde au plus près du serveur figé.
|
||||
|
||||
**Défense en profondeur (3 couches)** :
|
||||
1. `llm-heartbeat` (storage-01, rôle `litellm`) — garde la connexion chaude (anti-péremption).
|
||||
2. `request_timeout: 20` + `num_retries: 2` (LiteLLM) + retry STT-server — bornent le blip.
|
||||
3. `llama-watchdog` (gpu-01, rôle `llama_server`) — répare le wedge ROCm à la source.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue