Auto-réglage GPU : détection, num_ctx optimal et bouton Réglage auto

Backend :
- agent_config : num_ctx dans la config, envoyé à Ollama (0 = défaut modèle)
- ollama_client : méthode ps() (placement GPU/CPU via /api/ps)
- autotune : placement() lit size vs size_vram pour savoir si le modèle est sur GPU
- routes/config : POST /api/config/auto (détecte GPU + modèle, calcule et applique
  num_ctx/max_tokens, renvoie la détection et le placement)

Frontend :
- client/store : autoTune(), état tuning + résultat
- SettingsView : bouton ⚡ Réglage auto, bannière de détection (GPU/VRAM,
  contexte, placement GPU/CPU), slider Contexte (num_ctx)

Config :
- GPU_VRAM_MB / GPU_NAME pour déclarer la VRAM si Ollama est distant

Tests : recommandation (8B sur 12 Go -> ctx 32768), route /auto + persistance,
transmission num_ctx aux options Ollama, placement via /api/ps.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SVay7z3y7q2gEe54ByAE6N
This commit is contained in:
Claude committed 2026-06-30 05:54:30 +00:00
1 parent 98d7bb03fd
commit cbe9bcd514
10 files changed
+231 -5

No files matched your search

+20
View File
@@ -116,6 +116,26 @@ npm run dev # http://localhost:5173
| `web_search` | Recherche web (DuckDuckGo / SearxNG) | désactivé |
| `run_shell` | Exécuter une commande **(sensible)** | désactivé |
## Auto-réglage GPU (« Réglage auto »)
Dans **Configuration → Génération**, le bouton **⚡ Réglage auto** :
1. détecte le GPU (VRAM) via `nvidia-smi`/`rocm-smi`, ou la valeur déclarée
`GPU_VRAM_MB` ;
2. lit les métadonnées du modèle sélectionné via Ollama (contexte max,
architecture, taille, quantization) ;
3. calcule la **fenêtre de contexte (`num_ctx`)** la plus grande qui tient en
VRAM (estimation du cache KV) et un nombre de **jetons max** cohérent, puis
les applique ;
4. vérifie le **placement réel** du modèle via `/api/ps` d'Ollama (GPU / CPU).
> **Ollama distant** : si Ollama tourne sur une autre machine que Loki, la
> détection `nvidia-smi` ne voit pas ce GPU. Déclare alors la VRAM avec
> `GPU_VRAM_MB` (ex. `12000` pour une carte 12 Go) pour un réglage précis.
>
> **Pourquoi c'est utile** : un `num_ctx` trop grand fait déborder le modèle sur
> le CPU (lent). En l'ajustant à ta VRAM, le modèle reste sur le GPU. Laisse
> `num_ctx = 0` (auto) pour utiliser le défaut du modèle.
## Sécurité
- **Confinement** : toutes les opérations fichier (`read_file`, `write_file`,