KoboldCpp : installation et prise en main (GGUF, ROCm, API)
KoboldCpp est un binaire unique qui charge n'importe quel modèle GGUF, sans installation ni dépendances, avec une interface web et une API livrées dedans. Construit sur llama.cpp, il brille là où Ollama coince : cartes AMD via ROCm ou Vulkan, contrôle fin de l'offloading et portabilité totale. Ce guide couvre le téléchargement, le premier lancement, les réglages mémoire et les cas où KoboldCpp remplace avantageusement Ollama.
#Pourquoi KoboldCpp
KoboldCpp est un fork de llama.cpp packagé en un seul exécutable autonome. Vous téléchargez un fichier, vous le lancez, et vous avez immédiatement une interface web de chat sur votre navigateur plus une API HTTP. Aucun daemon à installer, aucune dépendance Python à gérer, aucun gestionnaire de modèles propriétaire : vous pointez le binaire vers un fichier GGUF récupéré sur Hugging Face et c'est tout.
Face à Ollama, la différence de philosophie est nette. Ollama gère un catalogue de modèles, un daemon en arrière-plan (sur http://localhost:11434) et un format d'empaquetage maison. KoboldCpp, lui, ne gère rien : il exécute directement le GGUF que vous lui donnez. Cela le rend idéal quand vous voulez tester un quant précis téléchargé à la main, quand vous êtes sur une machine où vous ne pouvez rien installer, ou quand votre GPU est un AMD mal pris en charge ailleurs.
- Binaire unique
- Un seul fichier exécutable, portable, sans installation ni droits admin.
- GGUF direct
- Charge n'importe quel .gguf téléchargé sur Hugging Face, sans conversion.
- AMD de première classe
- Builds ROCm dédiés et backend Vulkan qui exploitent vraiment les Radeon.
- Tout inclus
- Interface web KoboldAI Lite + API (native et compatible OpenAI) dans le même binaire.
#Prérequis
KoboldCpp tourne sur Windows, Linux et macOS. Il fonctionne en CPU pur, mais un GPU accélère fortement l'inférence. Le point clé, comme pour tout runner GGUF, c'est la VRAM disponible : elle détermine la taille de modèle et la quantification que vous pourrez charger entièrement sur la carte.
- RAM système
- 8 Go minimum pour un petit modèle en CPU, 16 Go confortable, 32 Go pour offloader de gros modèles.
- VRAM (repères Q4_K_M)
- 3B ≈ 2 Go · 7B ≈ 5 Go · 14B ≈ 9 Go · 32B ≈ 19 Go · 70B ≈ 40 Go.
- GPU NVIDIA
- Builds CUDA. RTX 3060 12GB (entrée), 4070 12GB, 4080 16GB, 4090 24GB.
- GPU AMD
- Builds ROCm (Radeon RX 6000/7000) ou backend Vulkan universel.
- Un fichier GGUF
- À récupérer sur Hugging Face (ex. bartowski, un des principaux fournisseurs de quants GGUF).
#Télécharger le binaire
Tout se fait depuis les releases GitHub du projet (LostRuins/koboldcpp). Vous choisissez le binaire adapté à votre OS et à votre GPU — il n'y a pas d'installeur, juste un fichier à rendre exécutable.
- 01Ouvrir les releasesRendez-vous sur github.com/LostRuins/koboldcpp/releases et repérez la dernière version stable.
- 02Choisir le bon fichierWindows NVIDIA : koboldcpp.exe (build CUDA). Windows sans NVIDIA : koboldcpp_nocuda.exe (utilise Vulkan/CLBlast). Linux : koboldcpp-linux-x64. AMD sous Linux : le build ROCm koboldcpp-linux-x64-rocm (voir la section AMD).
- 03Rendre exécutable (Linux/macOS)Téléchargez puis donnez le droit d'exécution au fichier avant de le lancer.
#Charger un GGUF et discuter
Le cœur du fonctionnement tient en une commande : vous passez le chemin du fichier GGUF avec --model. KoboldCpp démarre un serveur local et ouvre (ou vous indique) l'URL de l'interface web, par défaut http://localhost:5001.
- --model
- Chemin vers le fichier .gguf à charger.
- --gpulayers
- Nombre de couches déchargées sur le GPU. 999 = tout ce qui rentre en VRAM.
- --contextsize
- Taille de la fenêtre de contexte en tokens (ex. 4096, 8192, 16384).
- --port
- Port d'écoute (5001 par défaut).
- --host
- Adresse d'écoute. 0.0.0.0 pour exposer sur le réseau local.
Une fois lancé, ouvrez http://localhost:5001 dans votre navigateur : vous tombez sur KoboldAI Lite, une interface de chat complète avec historique, réglages de sampling et modes (chat, instruct, écriture). Aucune autre installation n'est nécessaire.
#GPU AMD : ROCm et Vulkan
C'est le terrain où KoboldCpp se distingue le plus d'Ollama. Deux voies existent pour accélérer sur une Radeon, selon votre système et votre carte.
#La voie ROCm (Linux, performances max)
ROCm est la pile de calcul GPU d'AMD, l'équivalent de CUDA. Le projet fournit des builds ROCm dédiés qui offrent les meilleures performances sur Radeon RX 6000/7000. Il faut que ROCm soit installé sur le système, puis on lance le binaire ROCm exactement comme les autres.
#La voie Vulkan (universelle, simple)
Si ROCm vous rebute ou n'est pas disponible (Windows, carte trop ancienne, iGPU), le backend Vulkan est une excellente alternative. Il est vendor-agnostic : il tourne sur AMD, Intel et NVIDIA sans pile de calcul spécifique, au prix d'un léger surcoût de performance par rapport à ROCm ou CUDA.
#Contexte et offloading
Deux réglages déterminent si votre modèle tient sur le GPU et à quelle vitesse il répond : le nombre de couches offloadées et la taille du contexte. Bien les calibrer évite le débordement en RAM, qui fait chuter la vitesse.
#Offloading des couches (--gpulayers)
Un modèle est composé de couches (layers). Chaque couche placée en VRAM est calculée par le GPU ; celles qui restent tournent sur le CPU. --gpulayers 999 tente de tout mettre sur le GPU. Si la carte n'a pas assez de VRAM, réduisez ce nombre : le modèle se répartit alors entre GPU et CPU (offloading partiel), plus lent mais fonctionnel.
- Tout rentre en VRAM
- --gpulayers 999, vitesse maximale, tout le modèle sur le GPU.
- VRAM insuffisante
- Baissez la valeur (ex. 20, 30) jusqu'à ce que le chargement passe sans saturer la carte.
- Pas de GPU
- --gpulayers 0, tout en CPU : lent mais fonctionne partout.
#Fenêtre de contexte (--contextsize)
Le contexte est la quantité de texte (en tokens) que le modèle garde en mémoire : prompt système, historique et question. Plus il est grand, plus le cache KV occupe de VRAM. Ne montez pas le contexte au-delà de ce dont vous avez besoin : 4096 à 8192 suffisent pour du chat courant, 16384+ pour analyser de longs documents.
#API et interface web intégrées
KoboldCpp expose deux API sur le même port (5001 par défaut) : sa propre API native KoboldAI, et une API compatible OpenAI sous /v1. Cette dernière vous permet de brancher KoboldCpp derrière n'importe quel outil qui parle le protocole OpenAI — exactement comme un endpoint Ollama ou llama-server.
Côté Python, la compatibilité OpenAI permet de réutiliser le SDK officiel en changeant simplement l'URL de base et en mettant une clé factice.
- Interface web
- KoboldAI Lite sur http://localhost:5001 : chat, sampling avancé, personas, mémoire.
- API OpenAI
- Endpoint /v1/chat/completions pour brancher Open WebUI, des scripts ou des agents.
- API native
- Endpoints KoboldAI pour un contrôle très fin du sampling et de la génération.
#Dépannage
- Chargement qui échoue sur AMD
- Carte non reconnue par ROCm : définissez HSA_OVERRIDE_GFX_VERSION avec l'architecture proche (ex. 10.3.0), ou basculez sur --usevulkan.
- Génération très lente
- Le modèle déborde en CPU. Baissez --contextsize, réduisez --gpulayers pour éviter la saturation, ou descendez d'une quantification (Q5 → Q4_K_M).
- « out of memory » au démarrage
- VRAM saturée par le modèle + le cache KV. Diminuez le contexte ou l'offloading, ou prenez un quant plus léger.
- Port déjà utilisé
- Changez avec --port (ex. --port 5002) si 5001 est occupé.
- Accès depuis une autre machine
- Ajoutez --host 0.0.0.0 pour écouter sur le réseau local, et ouvrez le port dans le pare-feu.
En résumé, KoboldCpp est le choix pragmatique quand vous voulez zéro installation, un contrôle direct sur le fichier GGUF et l'offloading, ou simplement faire enfin travailler sérieusement une carte AMD. Pour un catalogue de modèles et une intégration système clé en main, Ollama reste plus confortable ; pour la portabilité et le réglage fin, KoboldCpp gagne.
#Pour aller plus loin
Ces guides prolongent celui-ci et couvrent les briques voisines :
- Ollama avec GPU AMD (ROCm)
- L'autre approche AMD, côté Ollama, pour comparer ROCm dans les deux écosystèmes.
- Choisir sa quantification (Q4, Q5, Q8, FP16)
- Pour arbitrer taille de modèle, VRAM et qualité avant de télécharger un GGUF.
- llama-server : une API OpenAI locale avec llama.cpp
- L'alternative la plus proche, issue du même socle llama.cpp, si vous privilégiez l'API.
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.