mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-16 19:59:56 +02:00
Port de backend_strata.go (rust/loki-rs/src/strata) : la machine (cartes par nvidia-smi, Python 3.10+ et venv, RAM totale et disponible, RAM du moteur Strata en marche, place libre), ce qui y tient et la recommandation, la configuration de lancement en clair des modèles installés (placement des experts drop/ram/arena/disk, carte d'aide, réglages du preset), les réglages d'un modèle installé et l'installation (job des moteurs : paquet figé vérifié par SHA-256, installeur lancé et journalisé comme le sinkWriter du Go, preset écrit puis activé par le Go). Tenu seulement avec LOKI_BACKENDS=rust ; le lancement (loki serve) reste au Go, qui relaie les routes du tunnel. Correction du Go : /api/strata/settings décidait « en service » après avoir écrit les nouveaux réglages, donc jamais pour un réglage changé ; décidé désormais avant l'écriture, comme SavePresetApplying. Le port suit. Parité : parity_strata_test.go (crochets de test : release, meminfo, place libre, action de service) tire du Go un journal rejoué par tests/strata.rs ; les tests du Go portés dans strata/tests.rs ; TestFacadeStrata côté Go. Mutations : 71 tuées sur 71. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
29 lines
940 B
Go
29 lines
940 B
Go
package loki
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
// facade_strata.go — Strata tenu par la façade Rust (LOKI_STRATA=rust, lot 25
|
|
// de la migration ; expérimental, le Go reste le défaut) : la machine et ce
|
|
// qui y tient, les réglages d'un modèle installé et l'installation (job des
|
|
// moteurs, tenu par la façade avec LOKI_BACKENDS=rust) —
|
|
// rust/loki-rs/src/strata. loki-rs ne passe la variable qu'avec les backends.
|
|
// Le lancement (`loki serve` d'un preset ENGINE=strata) reste ici.
|
|
|
|
const facadeStrataEnv = "LOKI_STRATA"
|
|
|
|
// facadeStrata : la façade tient-elle Strata ?
|
|
func facadeStrata() bool {
|
|
return strings.EqualFold(strings.TrimSpace(os.Getenv(facadeStrataEnv)), "rust") &&
|
|
facadeAddr() != "" && internalToken() != ""
|
|
}
|
|
|
|
// facadeStrataRoutes : les routes que la façade sert alors.
|
|
var facadeStrataRoutes = map[string]bool{
|
|
"/api/strata": true,
|
|
"/api/strata/install": true,
|
|
"/api/strata/settings": true,
|
|
}
|