mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-21 14:08:11 +02:00
Lot 25 : Strata tenu par la façade (LOKI_STRATA=rust)
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
This commit is contained in:
22 files changed
+9079
-19
No files matched your search
@@ -100,6 +100,9 @@ pub struct Config {
|
||||
/// registre, bascules, rendu du gabarit) tenu par la façade
|
||||
/// (`LOKI_ENGINE_IMAGE=rust`) ; `None` : au Go.
|
||||
pub engineimg: Option<Arc<crate::engineimg::EngineImg>>,
|
||||
/// Strata (machine, réglages, installation) tenu par la façade
|
||||
/// (`LOKI_STRATA=rust`) ; `None` : au Go.
|
||||
pub strata: Option<Arc<crate::strata::api::Strata>>,
|
||||
}
|
||||
|
||||
struct Proxy {
|
||||
@@ -141,6 +144,7 @@ pub async fn serve(
|
||||
update: cfg.update,
|
||||
backends: cfg.backends,
|
||||
engineimg: cfg.engineimg,
|
||||
strata: cfg.strata,
|
||||
internal_token: cfg.internal_token.clone(),
|
||||
},
|
||||
});
|
||||
@@ -250,6 +254,11 @@ impl Proxy {
|
||||
{
|
||||
return crate::engineimg::serve(&self.ctx, e, req, from_go).await;
|
||||
}
|
||||
if let Some(s) = &self.ctx.strata
|
||||
&& crate::strata::api::handles(path)
|
||||
{
|
||||
return crate::strata::api::serve(&self.ctx, s, req, from_go).await;
|
||||
}
|
||||
if let Some(b) = &self.ctx.backends
|
||||
&& crate::backends::handles(path)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user