backend llama.cpp : mode binaires precompiles officiels (aucune compilation)

Alternative rapide a la compilation locale : telechargement des binaires
officiels de ggml-org/llama.cpp publies a chaque release (~2 min au lieu de
~40 de build CUDA). Le variant est choisi selon la machine (CUDA Windows avec
selection de la version selon le pilote + cudart, Vulkan, Metal, ROCm, CPU),
extrait dans backends/llama.cpp-prebuilt et BIN repointe dessus.

- backend_prebuilt.go : detection release/variant, telechargement avec
  progression, extraction zip/tar.gz anti zip-slip, marqueur VERSION
- UI : bouton 'binaires precompiles' + 'compiler (sources)', le statut
  distingue le mode actif (precompile vs build local), 'verifier les maj'
  compare a la derniere release officielle en mode precompile
- CLI : 'jean llamacpp prebuilt'
- le build local reste sur le disque : bascule possible via l'editeur de preset

Limites : builds generiques (pas de tuning natif) ; pas de build CUDA officiel
Linux (variant Vulkan) ; la compilation locale reste requise pour les forks.
This commit is contained in:
nathaninline committed 2026-07-22 19:22:08 +02:00
1 parent 58b59da823
commit b1890ed6f7
7 files changed
+628 -16

No files matched your search

+15 -1
View File
@@ -43,8 +43,22 @@ func cmdLlamacpp(args []string) error {
return llamacppUpdate(args)
case "status", "info", "":
return llamacppStatus(args)
case "prebuilt":
// Binaires officiels précompilés (aucune compilation) — voir backend_prebuilt.go.
bin, err := prebuiltInstall(
func(s string) { fmt.Println(" " + s) },
func(s string) { fmt.Printf("%s %s\n", cyan("▶"), s) },
)
if err != nil {
return err
}
if err := SetConfigKey("BIN", bin); err != nil {
return fmt.Errorf("binaires installés mais échec écriture BIN dans config.env: %w", err)
}
fmt.Printf("%s BIN mis à jour dans %s — %s pour appliquer\n", green("✓"), confPath(), bold("jean restart"))
return nil
default:
return fmt.Errorf("sous-commande inconnue: %s (install | update | status)", sub)
return fmt.Errorf("sous-commande inconnue: %s (install | update | prebuilt | status)", sub)
}
}