mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-17 12:16:21 +02:00
PREWARM ne garde plus la conversation au Go. La façade tient l'historique : elle assemble et envoie la requête du prochain tour ; le Go garde le compteur des requêtes en vol et ce qui l'annule. Go (facade_prewarm.go) : - /internal/v1/prewarm/check : moteur libre d'un vrai travail, loin de minuit, en bonne santé, slot visé ; - /internal/v1/prewarm/begin : rechargement SLOT_PERSIST puis inscription comme LA requête en vol ; son annulation est relayée à la façade ; - /internal/v1/prewarm/end : place rendue, cache repris noté ; - /internal/v1/oai/begin : prewarm_keep pour l'étape qui le prolonge ; - fin de tâche planifiée : le déclencheur part à la façade. Rust (chat/prewarm.rs) : - assemblage par les mêmes fonctions que le tour, sentinelle « . », un seul jeton, non streamé ; abstention (capacités inconnues, tour en cours, discussion vide, compaction attendue, assemblage inattendu) ; - déclencheurs : fin de tour, fin de tâche, changement de discussion ou de projet (full : après 3 s) ; - le tour garde le préchauffage qu'il prolonge (empreintes des messages et des options de rendu) et coupe tout de suite les autres ; - télémétrie kind=prewarm. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
44 lines
1.7 KiB
Rust
44 lines
1.7 KiB
Rust
//! Cœur chat en Rust (lot 6) — bibliothèque, pas encore branchée.
|
|
//!
|
|
//! Port de `llm_client.go`, `chat_conversation.go`, `chat_compact*.go` :
|
|
//! - [`engine`] : transport HTTP vers le moteur (envoi, flux, reprises) ;
|
|
//! - [`types`] : types partagés, JSON identique au Go ;
|
|
//! - [`wire`] : ce qui part vers le moteur (messages, charge utile) ;
|
|
//! - [`stream`] : analyse du flux SSE du moteur (texte, raisonnement, appels
|
|
//! d'outils, statistiques) ;
|
|
//! - [`compact`] : estimation du contexte et compactage de l'historique ;
|
|
//! - [`journal`] : journal d'affichage (compactage, rejeu, pagination) ;
|
|
//! - [`conv`] : la discussion en mémoire (état, epoch, verrou du tour,
|
|
//! abonnés) ;
|
|
//! - [`persist`] : format en base, index des discussions, écrivain unique ;
|
|
//! - [`sessions`] : plusieurs discussions (index, bascules, chargement) ;
|
|
//! - [`lease`] : bail du moteur (verrou de génération partagé avec le Go) ;
|
|
//! - [`nudges`] : budget d'outils, rappels, appels répétés, aperçus ;
|
|
//! - [`turn`] : la boucle d'un tour (complétions, outils, filets) ;
|
|
//! - [`host`] : le tour branché sur le moteur, les outils du Go et la base ;
|
|
//! - [`history`] : début et fin d'un tour côté historique ;
|
|
//! - [`generate`] : un tour de bout en bout (envoi, file, fin de tour) ;
|
|
//! - [`tplprobe`] : sonde de gabarit (rendus de `/apply-template`) ;
|
|
//! - [`perf`] : télémétrie des complétions (relevés rangés par le Go).
|
|
|
|
pub mod compact;
|
|
pub mod conv;
|
|
pub mod engine;
|
|
pub mod generate;
|
|
pub mod history;
|
|
pub mod host;
|
|
pub mod journal;
|
|
pub mod keepimg;
|
|
pub mod lease;
|
|
pub mod nudges;
|
|
pub mod perf;
|
|
pub mod persist;
|
|
pub mod prewarm;
|
|
pub mod sessions;
|
|
pub mod stream;
|
|
pub mod tplprobe;
|
|
pub mod turn;
|
|
pub mod types;
|
|
pub mod verify;
|
|
pub mod wire;
|