mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-21 22:18:13 +02:00
Compaction : COMPACT_CONTINUATION, relecture — un refus mémorisé ne vaut que pour le même fil
Le refus mémorisé ne regardait que la taille du contexte. Il n'est évalué qu'au-dessus du seuil : une discussion vidée, éditée ou régénérée qui remontait dans la même plage de jetons voyait sa compaction sautée sur la foi d'un refus qui concernait un autre fil. - le refus garde l'empreinte de l'historique (celle de perfPrefix) ; seul un historique qui prolonge celui d'alors en profite, tout autre retente - testé : historique modifié ou raccourci, refus noté par une vraie compaction, filet réactif jamais bloqué Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2097c9f915
commit
b0c53e32af
5 files changed
+83
-32
No files matched your search
@@ -804,7 +804,7 @@ func (c *Conversation) generate(ctx context.Context, caps Caps, temperature floa
|
||||
// tout de suite, et le résumé peut prolonger le prompt en cache. Sans la
|
||||
// clé, ni l'un ni l'autre.
|
||||
conv := perfTagOf(ctx).conv
|
||||
if compactNeeded(msgs, ctxUsed, peak) && !compactRefusedSkip(conv, ctxUsed) {
|
||||
if compactNeeded(msgs, ctxUsed, peak) && !compactRefusedSkip(conv, ctxUsed, msgs) {
|
||||
opt := c.compactOptsFor(caps, msgs, ctxUsed, conv)
|
||||
if out, changed := c.compactAndPublish(ctx, epoch, "début-tour", msgs, ctxUsed, caps, opt); changed {
|
||||
msgs = out
|
||||
@@ -1017,7 +1017,7 @@ func (c *Conversation) generate(ctx context.Context, caps Caps, temperature floa
|
||||
// retombe tout de suite et le tour suivant démarre avec de la marge.
|
||||
// Sauf si un Reset est passé (rien à compacter) ou si le tour a été annulé
|
||||
// (bouton stop) : on n'enchaîne pas plusieurs secondes de résumé sur un stop.
|
||||
if stale || ctx.Err() != nil || !compactNeeded(msgs, ctxUsed, peak) || compactRefusedSkip(conv, ctxUsed) {
|
||||
if stale || ctx.Err() != nil || !compactNeeded(msgs, ctxUsed, peak) || compactRefusedSkip(conv, ctxUsed, msgs) {
|
||||
return
|
||||
}
|
||||
// context.Background() et non ctx : le tour est terminé, son contexte peut
|
||||
|
||||
Reference in new issue
Block a user