mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-22 22:48:11 +02:00
UI backend llama.cpp : vue simplifiee (2 modes rapide/optimisee, plus de badge, sans jargon)
Refonte de la section pour la rendre utilisable sans connaissances techniques : - suppression du badge a cote du titre et de tous les details (commit, retard git, arch CUDA, nombre de jobs, chemins) ; une seule ligne 'Moteur actif : …' - deux cartes claires : Version rapide (precompile, conseillee) / Version optimisee (compilee) ; un clic installe, active ou bascule - bascule instantanee entre deux versions deja installees (nouvel endpoint /api/llamacpp/use : repointe BIN + redemarre, sans recompiler) - carte active : '✓ Actif' + 'mettre a jour' ; progression et logs replies sous 'details'
This commit is contained in:
1 parent
b0c1503ed8
commit
ff045ba21e
6 files changed
+260
-244
No files matched your search
@@ -313,6 +313,39 @@ func lcRunPrebuilt() {
|
||||
lcDone("binaires précompilés installés (" + tag + ")")
|
||||
}
|
||||
|
||||
// handleLlamacppUse bascule BIN entre deux versions DÉJÀ installées, sans
|
||||
// rien recompiler : "fast" = binaires précompilés, "opt" = build local. Le
|
||||
// service redémarre pour prendre le nouveau binaire. L'UI n'appelle ceci que
|
||||
// quand la version cible existe déjà (sinon elle lance un job d'installation).
|
||||
func handleLlamacppUse(w http.ResponseWriter, r *http.Request) {
|
||||
var req struct {
|
||||
Mode string `json:"mode"`
|
||||
}
|
||||
_ = json.NewDecoder(r.Body).Decode(&req)
|
||||
var bin string
|
||||
switch req.Mode {
|
||||
case "fast":
|
||||
bin = prebuiltServerBin()
|
||||
case "opt":
|
||||
bin = llamaServerBin(llamacppRepoDir())
|
||||
default:
|
||||
sendJSON(w, 400, map[string]any{"ok": false, "error": "mode inconnu"})
|
||||
return
|
||||
}
|
||||
if bin == "" {
|
||||
sendJSON(w, 400, map[string]any{"ok": false, "error": "cette version n'est pas installée"})
|
||||
return
|
||||
}
|
||||
if err := SetConfigKey("BIN", bin); err != nil {
|
||||
sendJSON(w, 500, map[string]any{"ok": false, "error": err.Error()})
|
||||
return
|
||||
}
|
||||
if serviceIsActive() {
|
||||
_ = serviceAction("restart")
|
||||
}
|
||||
sendJSON(w, 200, map[string]any{"ok": true, "bin": bin})
|
||||
}
|
||||
|
||||
// handleLlamacppJob renvoie l'état du job courant + les lignes de log depuis
|
||||
// l'offset absolu ?from=N (le client mémorise `next` et enchaîne).
|
||||
func handleLlamacppJob(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
Reference in new issue
Block a user