mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 11:04:43 +02:00
docs: profils Hermes multi-modèles + progression 12-13 mai
- admin/hermes.md : section profils complète (funk-ai/brain/system/monitor), architecture multi-modèles gpu-01, arborescence profiles/ - PROGRESS.md : entrées 2026-05-12 et 2026-05-13 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
0ce6be04bb
commit
07b94fe8a8
2 changed files with 68 additions and 19 deletions
|
|
@ -6,3 +6,5 @@
|
||||||
| [2026-05-10](progress/2026-05-10.md) | dnsmasq, ROCm, LM Studio (GLIBCXX fix), NFS + RAID5, modèles partagés sur NFS |
|
| [2026-05-10](progress/2026-05-10.md) | dnsmasq, ROCm, LM Studio (GLIBCXX fix), NFS + RAID5, modèles partagés sur NFS |
|
||||||
| [2026-05-10b](progress/2026-05-10b.md) | Rôle hermes_agent — installation, config, service systemd sur storage-01 |
|
| [2026-05-10b](progress/2026-05-10b.md) | Rôle hermes_agent — installation, config, service systemd sur storage-01 |
|
||||||
| [2026-05-11](progress/2026-05-11.md) | Hermes opérationnel (matin) — llama-server ROCm 7.x ×4 perf (après-midi) — LiteLLM proxy + Claude API, switch modèle sans restart Hermes (soir) |
|
| [2026-05-11](progress/2026-05-11.md) | Hermes opérationnel (matin) — llama-server ROCm 7.x ×4 perf (après-midi) — LiteLLM proxy + Claude API, switch modèle sans restart Hermes (soir) |
|
||||||
|
| [2026-05-12](progress/2026-05-12.md) | Flannel fix, MetalLB + Traefik + DNS wildcard *.lab.local, architecture multi-modèles gpu-01, 5 profils Hermes, docs admin/install/ |
|
||||||
|
| [2026-05-13](progress/2026-05-13.md) | Stabilisation multi-modèles — OOM fixes, Qwen3-1.7B sur 14 CPUs (21 tok/s), profils system/monitor finalisés, funk-ai par défaut |
|
||||||
|
|
|
||||||
|
|
@ -12,16 +12,67 @@ Les données persistantes sont sur le RAID5 : `/srv/data/hermes`.
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
```
|
```
|
||||||
hermes chat / hermes -z / http://192.168.1.200:9119
|
funk-ai / brain / system / monitor (alias → profil)
|
||||||
│
|
│
|
||||||
▼ LM_BASE_URL=http://127.0.0.1:4000/v1
|
▼ LM_BASE_URL=http://127.0.0.1:4000/v1
|
||||||
LiteLLM Proxy (:4000)
|
LiteLLM Proxy (:4000)
|
||||||
├── hermes-default → qwen3-8b → llama-server gpu-01 (défaut)
|
├── qwen3-8b → llama-server gpu-01 :1234 (GPU RX 6700XT)
|
||||||
└── hermes-default → claude-sonnet-4-6 → api.anthropic.com (switch)
|
├── qwen3-1.7b-system → llama-server gpu-01 :1236 (CPU 14 threads)
|
||||||
|
├── qwen3-1.7b-monitor → llama-server gpu-01 :1237 (CPU 14 threads)
|
||||||
|
├── claude-sonnet-4-6 → api.anthropic.com
|
||||||
|
└── claude-opus-4-7 → api.anthropic.com
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Profils
|
||||||
|
|
||||||
|
Hermes supporte plusieurs profils isolés — chacun a son propre `config.yaml`, ses
|
||||||
|
mémoires, sessions et modèle. Tous stockés dans `$HERMES_HOME/profiles/<nom>/`.
|
||||||
|
|
||||||
|
### Tableau des profils
|
||||||
|
|
||||||
|
| Profil | Alias CLI | Modèle | Usage |
|
||||||
|
|---|---|---|---|
|
||||||
|
| `funk-ai` ◆ | `funk-ai` | qwen3-8b (GPU, ~35 tok/s) | Principal — par défaut |
|
||||||
|
| `brain` | `brain` | claude-sonnet-4-6 (API) | Analyse complexe, coûteux |
|
||||||
|
| `system` | `system` | qwen3-1.7b-system (CPU, ~21 tok/s) | Appels rapides |
|
||||||
|
| `monitor` | `monitor` | qwen3-1.7b-monitor (CPU, ~21 tok/s) | Appels rapides |
|
||||||
|
|
||||||
|
`◆` = profil actif par défaut
|
||||||
|
|
||||||
|
### Utilisation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Lancer un profil (nouvelle session TUI)
|
||||||
|
funk-ai # Qwen3-8B GPU
|
||||||
|
brain # Claude Sonnet
|
||||||
|
system # Qwen3-1.7B CPU
|
||||||
|
monitor # Qwen3-1.7B CPU
|
||||||
|
|
||||||
|
# Oneshot
|
||||||
|
sudo -i -u hermes bash -c 'HERMES_HOME=/srv/data/hermes hermes --profile system -z "ta question"'
|
||||||
|
|
||||||
|
# Changer le profil par défaut
|
||||||
|
sudo -i -u hermes bash -c 'HERMES_HOME=/srv/data/hermes hermes profile use funk-ai'
|
||||||
|
|
||||||
|
# Lister les profils
|
||||||
|
sudo -i -u hermes bash -c 'HERMES_HOME=/srv/data/hermes hermes profile list'
|
||||||
|
```
|
||||||
|
|
||||||
|
> Il n'y a pas de changement de profil à chaud dans le TUI — ouvrir une nouvelle session.
|
||||||
|
|
||||||
|
### Points d'attention profils
|
||||||
|
|
||||||
|
| Sujet | Détail |
|
||||||
|
|---|---|
|
||||||
|
| `HERMES_HOME` | Toujours préfixer les commandes avec `HERMES_HOME=/srv/data/hermes` |
|
||||||
|
| `context_length` | Hermes exige 64k minimum — override via `model.context_length: 65536` dans config.yaml |
|
||||||
|
| GPU vs CPU | system/monitor : Qwen3-1.7B sur 14 CPUs (5950X) — pour appels courts et rapides |
|
||||||
|
| brain | Facturé à l'API Anthropic — réserver aux tâches complexes |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Dashboard Web
|
## Dashboard Web
|
||||||
|
|
||||||
Accessible depuis le poste admin uniquement (`192.168.1.10`) :
|
Accessible depuis le poste admin uniquement (`192.168.1.10`) :
|
||||||
|
|
@ -87,19 +138,9 @@ hermes doctor
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Switcher le modèle
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo /usr/local/bin/hermes-switch qwen # Qwen3-8B local (gratuit)
|
|
||||||
sudo /usr/local/bin/hermes-switch claude # Claude Sonnet 4.6 (API Anthropic ~1$/session)
|
|
||||||
sudo /usr/local/bin/hermes-switch status # Modèle actif
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
### config.yaml (`/srv/data/hermes/config.yaml`)
|
### config.yaml (profil par défaut : `/srv/data/hermes/config.yaml`)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
model:
|
model:
|
||||||
|
|
@ -158,16 +199,21 @@ sudo -u hermes /srv/data/hermes/hermes-agent/venv/bin/pip install "qdrant-client
|
||||||
|
|
||||||
```
|
```
|
||||||
/srv/data/hermes/
|
/srv/data/hermes/
|
||||||
├── config.yaml → configuration principale (géré Ansible)
|
├── config.yaml → configuration profil par défaut (géré Ansible)
|
||||||
├── .env → LM_BASE_URL, LM_API_KEY (géré Ansible)
|
├── .env → LM_BASE_URL, LM_API_KEY (géré Ansible)
|
||||||
├── hermes-agent/ → installation (venv Python, binaire, frontend web)
|
├── hermes-agent/ → installation (venv Python, binaire, frontend web)
|
||||||
│ └── web/ → source frontend dashboard (compilé via npm)
|
│ └── web/ → source frontend dashboard (compilé via npm)
|
||||||
├── node/ → Node.js local (pour compiler le frontend)
|
├── node/ → Node.js local (pour compiler le frontend)
|
||||||
├── memories/ → mémoire persistante (MEMORY.md auto-chargé)
|
├── memories/ → mémoire persistante profil par défaut
|
||||||
├── sessions/ → historique des sessions
|
├── sessions/ → historique sessions profil par défaut
|
||||||
├── logs/ → logs
|
├── logs/ → logs
|
||||||
├── skills/ → skills installées
|
├── skills/ → skills installées
|
||||||
└── state.db → base SQLite état agent
|
├── state.db → base SQLite état agent
|
||||||
|
└── profiles/ → profils isolés
|
||||||
|
├── funk-ai/ → config.yaml, memories/, sessions/, state.db
|
||||||
|
├── brain/
|
||||||
|
├── system/
|
||||||
|
└── monitor/
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -215,7 +261,8 @@ sudo systemctl restart hermes-dashboard
|
||||||
| Données sur RAID5 | `HERMES_HOME=/srv/data/hermes` — jamais sur le SSD OS |
|
| Données sur RAID5 | `HERMES_HOME=/srv/data/hermes` — jamais sur le SSD OS |
|
||||||
| LiteLLM requis | litellm.service doit tourner avant hermes-agent |
|
| LiteLLM requis | litellm.service doit tourner avant hermes-agent |
|
||||||
| `LM_API_KEY` | Doit valoir `lm-studio` exactement |
|
| `LM_API_KEY` | Doit valoir `lm-studio` exactement |
|
||||||
| Contexte | Qwen3-8B : 32768 tokens, system prompt ~15k → ~17k tokens dispo |
|
| Contexte | GPU (funk-ai) : 32768 tokens réels, override Hermes à 65536 via config.yaml |
|
||||||
|
| Contexte CPU | system/monitor : 32768 tokens réels, idem override |
|
||||||
| path `hermes -z` | Toujours lancer depuis `/srv/data/hermes` (cherche .git en remontant) |
|
| path `hermes -z` | Toujours lancer depuis `/srv/data/hermes` (cherche .git en remontant) |
|
||||||
| Gemma 4 | Interdit — crash ROCm sur prompts >800 tokens |
|
| Gemma 4 | Interdit — crash ROCm sur prompts >800 tokens |
|
||||||
| SELinux | Fichiers sur RAID5 ont contexte `unlabeled_t` — exécuter via binaire dans `/opt/hermes/.local/bin/` |
|
| SELinux | Fichiers sur RAID5 ont contexte `unlabeled_t` — exécuter via binaire dans `/opt/hermes/.local/bin/` |
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue