Chronicler
Performances et modèles

Accélération GPU

Utiliser la carte graphique que vous avez déjà - la différence entre une minute et quelques secondes.

La vitesse des réponses dépend surtout de l'endroit où tourne le modèle. Sur processeur, la première réponse après une pause prend une à trois minutes. Sur une carte NVIDIA de milieu de gamme, quelques secondes.

Comment le choix se fait

Un seul réglage dans votre .env :

.env
COMPOSE_PROFILES=cpu     # ou nvidia, ou amd

Le fichier compose contient trois variantes du conteneur de modèle et en démarre exactement une. Elles partagent le même nom, la même adresse et les mêmes modèles téléchargés : passer de l'une à l'autre ne perd rien et ne retélécharge rien.

Si COMPOSE_PROFILES n'est pas défini, aucune ne démarre. Le reste de la pile monte, et toutes les questions échouent. C'est l'erreur d'auto-hébergement la plus fréquente.

L'installation guidée de l'application détecte cela pour vous au premier démarrage. Sinon, choisissez comme ci-dessous.

Détection automatique

PowerShell
$vram = nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits 2>$null
$profile = if ($vram) { "nvidia" } else { "cpu" }
(Get-Content .env) -replace '^COMPOSE_PROFILES=.*$', "COMPOSE_PROFILES=$profile" |
  Set-Content -Encoding ascii .env
if ($vram) {
  Add-Content -Encoding ascii .env "CHRONICLER_GPU_VRAM_GB=$([math]::Floor($vram / 1024))"
}

L'accélération AMD est réservée à Linux. Cette commande choisit NVIDIA si le pilote est visible, sinon elle choisit le CPU. La seconde clé indique à la console la taille de votre carte : voir plus bas.

Il vérifie la plateforme, la capacité réelle des conteneurs à joindre un GPU, et la mémoire dont Docker dispose, puis écrit COMPOSE_PROFILES dans le .env à côté, ainsi que CHRONICLER_GPU_VRAM_GB sur une machine NVIDIA. Il ne touche jamais à votre mot de passe de base, et ne choisit jamais de modèle : cela reste du ressort de Admin → Modèle.

S'il trouve une carte que vos conteneurs ne peuvent pas joindre, ou Docker Desktop sur le moteur Hyper-V, il avertit et se rabat sur cpu plutôt que de s'arrêter. Lisez les avertissements : ils font la différence entre une machine rapide et une machine lente.

Option utile : --env-file CHEMIN (viser un autre .env).

Le script requiert bash : il tourne sous Linux, et sous Windows depuis Git Bash ou un shell WSL. Si vous ne pouvez pas l'exécuter, réglez la valeur à la main.

NVIDIA

Vérifier que la machine voit la carte

PowerShell
nvidia-smi

Aucune sortie signifie un problème de pilote : réglez-le d'abord, rien de ce qui suit n'aidera.

Vérifier que les conteneurs la voient

Le pilote installé sur la machine ne suffit pas ; Docker a besoin du NVIDIA Container Toolkit pour transmettre la carte.

PowerShell
docker run --rm --gpus all ollama/ollama:0.32.4 nvidia-smi

Si votre carte s'affiche, tout est prêt. En cas d'erreur :

Mettez à jour le pilote NVIDIA (le pilote WSL2 inclut la prise en charge des conteneurs), vérifiez que Docker Desktop utilise le moteur WSL2, puis redémarrez Docker Desktop. Rien d'autre à installer.

Changer le profil

.env
COMPOSE_PROFILES=nvidia
PowerShell
docker compose up -d

AMD

Linux uniquement, au mieux. ROCm atteint la carte via /dev/kfd et /dev/dri, que Docker Desktop sous Windows ne sait pas transmettre.

Docker Desktop ne peut pas transmettre les périphériques GPU AMD. Utilisez le profil CPU sous Windows, ou exécutez la pile sous Linux pour l'accélération AMD.

Si les deux existent :

.env
COMPOSE_PROFILES=amd
Le profil AMD n'est pas disponible sous Windows.

Cette variante télécharge une image différente et plus lourde (le runtime ROCm) : le premier démarrage après le changement est long.

Vérifier que c'est bien utilisé

PowerShell
docker compose ps

Le conteneur en cours doit être ollama-nvidia ou ollama-amd, pas ollama-cpu. Posez ensuite une question et observez :

PowerShell
nvidia-smi
docker compose logs chronicler-ollama | Select-Object -Last 30

Le journal d'Ollama indique sur quel matériel le modèle a été chargé. Le test honnête reste la montre : si une réponse à chaud prend encore une minute, c'est le processeur qui travaille.

Changer plus tard

Modifiez COMPOSE_PROFILES, puis docker compose up -d. Compose remplace le conteneur de modèle sur place. Les modèles téléchargés sont dans un volume partagé : rien n'est retéléchargé, rien n'est perdu.

Comment la console découvre votre GPU

Admin → Modèle interroge le matériel depuis l'intérieur du conteneur backend, et ce conteneur n'a délibérément aucun accès à la carte graphique : seul le conteneur Ollama l'obtient. Sans rien de plus, la console déclarerait l'absence de GPU et griserait les modèles de cette catégorie sur toutes les machines, y compris la vôtre.

CHRONICLER_GPU_VRAM_GB dans votre .env comble ce vide. Le script de détection l'écrit, l'installation guidée de l'application l'écrit, et l'extrait PowerShell ci-dessus l'écrit aussi. Le backend le lit et dimensionne la liste des modèles sur la carte que vous possédez réellement.

Si Admin → Modèle grise les modèles GPU sur une machine qui a une carte, vérifiez d'abord cette clé :
PowerShell
Select-String "CHRONICLER_GPU_VRAM_GB" .env
Absente ou à 0 ? Relancez le script de détection, puis docker compose up -d. Elle n'est écrite que sur le profil nvidia : sur cpu ou amd, la console a raison de ne proposer que les modèles compatibles processeur.