bots-garden/mini-mepublic Fork 0
d72271127802973540c648bfb372176cdaaa8e4f
Commits
Clone
git clone https://git.rickub.com/bots-garden/mini-me.git
git clone ssh://git@rickub.com/bots-garden/mini-me.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

💾 Saved. d722711 · on d72271127802973540c648bfb372176cdaaa8e4f · k33g · 7h ago
manage-the-context-window.md · 37 lines · 2.5 KBmarkdown
Blame HistoryOpen raw

Comment garder une longue session dans la fenêtre de contexte

Ce guide montre comment empêcher une longue session de déborder du contexte du modèle. Il suppose que vous faites déjà tourner mm et que vous savez quel serveur sert votre modèle.

Étapes

  1. Indiquez à l'agent la taille de la fenêtre. Soit vous fixez contextWindow dans le YAML à la valeur avec laquelle vous avez démarré le serveur, soit vous le laissez à 0 sur llama.cpp, où l'agent lit n_ctx sur /props. La bannière affiche le résultat sous la forme ctx: <taille> (config) ou ctx: <taille> (/props).

  2. Activez la compression automatique :

    context:
      enabled: true
      threshold: 75
      keepLastTurns: 3
    

    Avant chaque question, quand l'historique atteint 75 % de la fenêtre, les anciens tours sont remplacés par un résumé écrit par le modèle et les trois derniers tours de question sont conservés tels quels.

  3. Observez le rapport. Avec showStats: true (la valeur par défaut), chaque compression affiche une ligne grisée :

    🗜️ compressed 14 messages → 1 summary + 7 kept (18.2k → 4.1k tokens, 6.3s)
    

Variantes

  • La fenêtre reste inconnue (Docker Model Runner ne dit rien, et contextWindow vaut 0). Seul le déclencheur maxMessages peut se déclencher ; l'agent le signale par un avertissement au démarrage. Fixez maxMessages à un nombre de messages (une commande coûte deux messages) ou fixez contextWindow.
  • Compresser à la main. Tapez /compact à l'invite, ou envoyez-la depuis l'éditeur en mode ACP. La commande ignore le seuil mais conserve toujours les keepLastTurns derniers tours, et affiche 🗜️ nothing to compact quand rien n'est plus ancien.
  • Le serveur a été démarré après l'agent. La fenêtre est re-sondée avant la première question tant qu'elle est inconnue et que la compression est activée ; pas besoin de relancer.
  • Votre propre prompt de résumé. Fixez context.prompt pour remplacer le prompt intégré en sept sections.
  • Une compression qui échoue (serveur arrêté, watchdog) laisse l'historique inchangé et affiche [compact: failed, history kept: …].

Voir aussi

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Comment garder une longue session dans la fenêtre de contexte

Ce guide montre comment empêcher une longue session de déborder du contexte du modèle. Il suppose que vous faites déjà tourner `mm` et que vous savez quel serveur sert votre modèle.

## Étapes

1. Indiquez à l'agent la taille de la fenêtre. Soit vous fixez `contextWindow` dans le YAML à la valeur avec laquelle vous avez démarré le serveur, soit vous le laissez à `0` sur llama.cpp, où l'agent lit `n_ctx` sur `/props`. La bannière affiche le résultat sous la forme `ctx: <taille> (config)` ou `ctx: <taille> (/props)`.

2. Activez la compression automatique :

   ```yaml
   context:
     enabled: true
     threshold: 75
     keepLastTurns: 3
   ```

   Avant chaque question, quand l'historique atteint 75 % de la fenêtre, les anciens tours sont remplacés par un résumé écrit par le modèle et les trois derniers tours de question sont conservés tels quels.

3. Observez le rapport. Avec `showStats: true` (la valeur par défaut), chaque compression affiche une ligne grisée :

   ```
   🗜️ compressed 14 messages → 1 summary + 7 kept (18.2k → 4.1k tokens, 6.3s)
   ```

## Variantes

- **La fenêtre reste inconnue** (Docker Model Runner ne dit rien, et `contextWindow` vaut `0`). Seul le déclencheur `maxMessages` peut se déclencher ; l'agent le signale par un avertissement au démarrage. Fixez `maxMessages` à un nombre de messages (une commande coûte deux messages) ou fixez `contextWindow`.
- **Compresser à la main.** Tapez `/compact` à l'invite, ou envoyez-la depuis l'éditeur en mode ACP. La commande ignore le seuil mais conserve toujours les `keepLastTurns` derniers tours, et affiche `🗜️ nothing to compact` quand rien n'est plus ancien.
- **Le serveur a été démarré après l'agent.** La fenêtre est re-sondée avant la première question tant qu'elle est inconnue et que la compression est activée ; pas besoin de relancer.
- **Votre propre prompt de résumé.** Fixez `context.prompt` pour remplacer le prompt intégré en sept sections.
- **Une compression qui échoue** (serveur arrêté, watchdog) laisse l'historique inchangé et affiche `[compact: failed, history kept: …]`.

## Voir aussi

- Chaque clé `context.*` et sa valeur par défaut : [référence de la configuration](../reference/configuration.md)
- Pourquoi le résumé garde les tours récents bruts et fusionne les résumés antérieurs : [compression du contexte](../explanation/context-compression.md)