v0.1.0-beta.7 — Backend LLM multi-moteur (Ollama / llama.cpp / vLLM) piloté par le matériel
Feature phare : la LLM d'arbitrage (résumé / correction / relecture) devient multi-backend et le choix « palier VRAM → modèle » sort du code vers un catalogue de données unique, piloté par le matériel physiquement présent.
✨ Nouveautés
- Backend Ollama « facile » — installation curl … | sh auto-suffisante (runtime CUDA embarqué : aucune compilation, aucun nvcc, aucun token HF), modèle tiré par ollama pull, répartition multi-GPU (OLLAMA_SCHED_SPREAD).
- Catalogue de profils en données (transcria/data/llm_profiles.yaml) — par moteur (llama.cpp / Ollama / vLLM) et par palier : identifiant du modèle + contexte variable + placement + dtype KV. Aucune taille de modèle en dur. Surchargeable via workflow.arbitration_llm.profiles_file.
- Sélection pilotée par le matériel (select_profile) — mono-GPU → meilleur modèle sur 1 carte ; multi-GPU (≥ 2) → multi-GPU activé (llama.cpp tensor-split, Ollama spread, vLLM TP auto).
- Empreinte VRAM dérivée — poids réel du fichier + KV calculé (archi × contexte), puis recalée par la mesure au 1ᵉʳ chargement (/api/ps) → gpu.llm_vram_mion manuelle.
- Voie llama.cpp CUDA à 3 niveaux — détecter → binaire précompilé ai-dock (sha256 vérifié, auto-téléchargé en non-interactif) → compiler si nvcc → échec propre. S'installe sur distro vierge sans compiler.
- Cycle de vie LLM unifié derrière LLMBacasured_vram_mb) — le démon Ollama n'estjamais tué (seul le modèle est déchargé).
✅ Validation E2E réelle (8× RTX 3090)
- All-in-one Ollama mono-GPU (gemma4:12b) et multi-GPU (qwen3.6:35b spread), llama.cpp (Qwen3.6-35B-A3B), split vLLM (Qwen3.6-27B-FP8, TP=4) — sur Ubuntu 22.04/24.04, Debian 12, Fedora 41, Rocky 9.
- Qualité lue à la main (pas seulement sc35b 98/100, llama.cpp 35B Q8 97/100.
- Détails : docs/LLM_PROFILS_VALIDATION.md · backends : docs/LLM_BACKENDS.md.
🔧 Durcissement install (findings E2E sur
- Calibration gpu.llm_vram_mb dérivée de la taille réelle du modèle (débloque waiting_vram).
- Téléchargement GGUF + binaire ai-dock automatique en non-interactif ; détection PYTHON_BIN avancée (Rocky 9).
- detect_llama_server.py (f-string) ; profil 64 Go compatible conteneur (numactl seccomp / CUDA_HOME /
LD_LIBRARY_PATH). - distro_bootstrap (deadsnakes py3.11, --allowerasing) ; CDI multi-GPU (un --device par GPU).
📊 Qualité
2 983 tests verts (ruff, mypy, pytest comure 80 %.
La série 0.x est une phase de stabilisatiiguration et le modèle de données peuventencore évoluer sans garantie de compatibi. À évaluer, à piloter — pas à mettre en
production sans votre propre validation.