Mémoire et résumés de chat

Chaque modèle d'IA ne peut lire qu'une quantité limitée de texte à la fois, appelée la fenêtre de contexte. Dans un long chat (une conversation enregistrée), les messages les plus anciens en sortent et l'IA les oublie. Marinara Engine (appelé simplement Marinara dans la suite) a plusieurs façons de ramener cet historique. Ce guide montre comment activer chacune d'elles et comment la réparer quand elle ne fonctionne pas.

Quelle fonction de mémoire choisir ?

Commence par Memory Recall. Il fonctionne sans configuration supplémentaire, car Marinara peut utiliser un modèle d'embeddings intégré sur ton ordinateur. Ajoute des résumés quand les chats deviennent très longs.

FonctionCe qu'elle faitDisponible en
Memory RecallCherche dans les anciens messages les passages liés à ce que tu viens de dire et les ajoute au prompt (le texte que Marinara envoie à l'IA).Tous les modes
Chat SummaryRemplace les anciens messages par de courts récapitulatifs.Roleplay
Automatic SummarizationRésume chaque journée, puis chaque semaine. Toujours actif.Conversation
Advanced Memory RecallGère ensemble l'historique actuel, les résumés de scènes et les extraits rappelés. Facultatif.Roleplay et Game Mode

Memory Recall et les résumés font des choses différentes et peuvent fonctionner ensemble. Les chats Game Mode ont Memory Recall et, en option, Advanced Memory Recall (voir En Game Mode). Ils n'ont pas de fonction de résumé propre.

Memory Recall

Memory Recall utilise des embeddings. Un embedding est une empreinte numérique du sens d'un message. Marinara stocke les anciens messages en petits groupes appelés blocs (chunks). Marinara compare l'empreinte de ton nouveau message aux empreintes stockées, puis ajoute au prompt les blocs les plus proches.

Activer Memory Recall

  1. Ouvre un chat et clique sur Chat Settings (réglages du chat).
  2. Repère la section Memory Recall.
  3. Active Enable Memory Recall (activer Memory Recall).

Ce réglage est propre à chaque chat. Il est activé au départ dans les chats Conversation, ainsi que dans les chats Roleplay ou Game qui ont une scène active. Il est désactivé au départ dans les autres chats. Le désactiver arrête le rappel, mais ne supprime pas les souvenirs stockés.

Si ça n'a pas marché : Memory Recall a besoin d'une source d'embeddings (section suivante). Si tu n'en définis aucune, Marinara utilise son modèle intégré : la plupart des gens peuvent donc sauter cette section. Vérifie que la section Memory Recall apparaît bien. Certaines builds pour conteneurs, appelées Marinara Lite, la désactivent complètement.

Définir la source d'embeddings (facultatif)

Memory Recall a besoin d'un modèle qui fabrique les empreintes. Si tu ne définis rien, Marinara utilise le modèle d'embeddings intégré (voir plus bas), la solution simple pour la plupart des gens. Pour utiliser plutôt un service, règle-le sur un compte, pas dans les réglages du chat.

Avant de commencer : il te faut un compte qui propose des embeddings. Voir Se connecter à un fournisseur d'IA.

  1. Ouvre Connections (Connexions) et modifie le compte.
  2. Repère la section Semantic search (embeddings) (recherche sémantique).
  3. Saisis un nom de modèle d'embeddings, par exemple text-embedding-3-small.
  4. Facultatif : renseigne Embedding endpoint URL (URL du point d'accès des embeddings) pour changer l'adresse.
  5. Facultatif : utilise le menu Embedding provider (fournisseur d'embeddings) pour emprunter la clé et l'adresse d'un autre compte. Same as this provider (comme ce fournisseur) garde celles de ce compte.

Certains services ne proposent pas d'embeddings. Marinara te demande alors de choisir un compte d'embeddings dédié, par exemple un compte compatible OpenAI, Google ou le modèle intégré.

Pour utiliser une même source partout, choisis-la sous Embeddings dans Connections → Defaults (Connexions → Valeurs par défaut). Les comptes qui n'ont pas de modèle d'embeddings propre l'utilisent. Le réglage propre à un compte garde la priorité.

Sans compte d'embeddings ni valeur par défaut Embeddings, Marinara se rabat sur un modèle d'embeddings intégré. Il le télécharge une seule fois et le fait tourner sur ton ordinateur, sans clé API (un code secret, un peu comme un mot de passe). Voir Configuration du modèle intégré.

Ce même réglage alimente aussi la recherche sémantique des lorebooks : tu le configures donc une seule fois pour les deux.

Voir et gérer les souvenirs stockés

  1. Ouvre Chat Settings → Memory Recall.
  2. Clique sur Access memories for this chat (accéder aux souvenirs de ce chat). La fenêtre Memories for This Chat s'ouvre. Avec Advanced Memory activé, la consultation reste dans le panneau latéral Roleplay.

La fenêtre affiche le nombre de blocs stockés et une estimation approximative en tokens (un token est un petit morceau de texte). Chaque carte de bloc indique sa période, son nombre de messages, sa date de création et un statut.

StatutSignification
VectorizedL'empreinte est construite et prête pour la recherche.
Waiting for vectorL'empreinte est encore en cours de fabrication.
Embedding unavailableAucune source d'embeddings n'a pu la construire.

La barre d'outils propose des icônes pour exporter, importer, reconstruire et effacer les souvenirs.

Le comportement de Memory Recall

Chat Summary (Roleplay)

Chat Summary compresse les anciens messages en courts récapitulatifs appelés entrées de résumé. Chaque entrée peut être écrite par l'IA ou par toi, et chacune peut être activée ou désactivée. Cette fonction est réservée aux chats Roleplay.

Ouvre Chat Settings et déplie Chat Summary, sous Lorebooks. Sur un ordinateur, tu peux l'ouvrir dans sa propre fenêtre. Voir Vue d'ensemble des Chat Settings.

Créer une entrée de résumé

  1. Sous Summary Scope (portée du résumé), choisis Last (derniers) pour les messages les plus récents, ou Range (plage) pour une plage de messages.
  2. Clique sur Generate (générer) pour que l'IA rédige une entrée, ou sur Write (écrire) pour en écrire une toi-même.

Chaque entrée affiche un titre, sa plage source ou son nombre de messages, et une estimation en tokens. Tu peux l'activer ou la désactiver, la déplier, la modifier avec Edit (modifier) ou la supprimer avec Delete (supprimer). Show Inactive (afficher les inactives) et Hide Inactive (masquer les inactives) changent ce que la liste affiche. Activate All (tout activer) et Deactivate All (tout désactiver) basculent toutes les entrées d'un coup.

Pour modifier plusieurs entrées, coche-les (sur un ordinateur, clique en maintenant Shift pour sélectionner une plage), puis utilise Enable selected (activer la sélection) ou Disable selected (désactiver la sélection).

Si Review Agent Outputs (relire les sorties des agents) est activé, les résumés de l'IA attendent ton approbation. Voir Approbations d'agents et Agent Suite.

Automatic Summaries

Le panneau Automatic Summaries (résumés automatiques) maintient les résumés à jour au fil du chat.

  1. Active Enabled (activé).
  2. Règle Every (tous les) sur le nombre de messages de l'utilisateur entre deux résumés. La valeur par défaut est 5. La plage va de 1 à 200.
  3. Facultatif : clique sur Backfill Summary (rattraper le résumé) pour résumer un ancien chat qui n'a jamais eu de résumés. Une barre de progression s'affiche. Clique sur Stop (arrêter) pour l'interrompre avant la fin.

Prompt, fournisseur et taille de sortie des résumés

Options d'affichage

Le nombre de derniers messages conservés limite les messages résumés. Un message résumé plus ancien que ces derniers messages est exclu du prompt tout de suite, avant même que le prochain résumé ne le masque. Un message plus ancien qui n'est encore couvert par aucun résumé est toujours envoyé, car l'exclure reviendrait à le perdre. Quand il y a de tels messages, Chat Summary en affiche le nombre sous Recent message tail. Clique sur Backfill Summary pour les résumer.

Chats de groupe fusionnés

Dans un chat de groupe fusionné, une seule réponse parle pour tous les personnages. Une partie d'une entrée rédigée pour certains personnages, comme {{#if char == "Kaito"}}…{{/if}}, est conservée pour chaque personnage qu'elle concerne et indique qui la connaît, par exemple "known only to Kaito". Les parties que seul le Narrator (narrateur) d'Advanced Memory reçoit restent exclues. Dans les chats de groupe où les personnages répondent l'un après l'autre et dans les chats à un seul personnage, chaque personnage lit les entrées comme avant, et le Narrator lit toutes les parties.

Automatic Summarization (Conversation)

Les chats Conversation résument chaque journée du calendrier, puis regroupent les semaines terminées en un résumé de semaine. Le prompt ne contient ensuite que les résumés de semaine, les résumés de jour de la semaine en cours et les messages du jour. Ce traitement tourne tout seul et ne peut pas être désactivé.

Modifier les résumés

  1. Ouvre un chat Conversation et clique sur Chat Settings.
  2. Repère Automatic Summarization.
  3. Clique sur Edit Summaries (modifier les résumés).

La fenêtre liste d'abord les semaines, puis les jours pas encore rattachés à une semaine. Déplie une entrée pour modifier son texte Summary (résumé) et ses lignes Key Details (détails clés).

Définir la fin d'une journée

Compléter les jours manquants

Il arrive qu'une journée n'ait pas de résumé, par exemple après l'import d'un ancien chat. Dans la fenêtre, le panneau Missing Summaries (résumés manquants) contient un bouton Backfill (rattraper). Il réessaie jusqu'à 14 journées récentes à la fois. Changer de modèle de résumé ne réécrit pas les entrées de jour ou de semaine existantes.

Advanced Memory Recall (Roleplay et Game Mode)

Advanced Memory Recall est un mode facultatif qui gère ensemble la fenêtre d'historique actuel, les résumés de continuité et les anciens extraits. Il découpe le chat en scènes, résume chaque scène terminée et rappelle les scènes et les messages exacts qui comptent pour chaque réponse. Il fonctionne sans l'interrupteur Agents et ne nécessite aucun agent téléchargeable.

L'activer

  1. Ouvre Chat Settings → Memory Recall.
  2. Active Advanced Memory Recall. Tu peux aussi activer Automatic context and memory handling (gestion automatique du contexte et de la mémoire), sous Agents, dans l'assistant de configuration Roleplay.
  3. Règle Maximum allowed context before compression (tokens) (contexte maximal autorisé avant compression, en tokens) dans les limites de la fenêtre de contexte de ton modèle.
  4. Règle Summary and recall budget (tokens) (budget des résumés et du rappel, en tokens) dans les limites de ce plafond.
  5. Facultatif : choisis un Helper model (modèle auxiliaire).

Pour un chat qui a déjà un historique, clique d'abord sur Prepare existing history (préparer l'historique existant), décrit plus bas. Les réglages et la progression s'affichent à la fois dans l'assistant et dans le panneau latéral Chat Settings, sur ordinateur comme sur mobile. La consultation des archives reste dans le panneau latéral.

Réglages

RéglagePar défautRôle
Maximum allowed context before compression (tokens)65 000Quand le prompt sortant atteint cette taille, le contexte le plus ancien est coupé et résumé pour le rappel.
Summary and recall budget (tokens)6 500La part du contexte consacrée aux souvenirs. Au moins 10% du maximum est recommandé.
Helper modelCompte des agents, puis compte du chatPrend les décisions de scène, rédige les résumés et gère la continuité.
Maximum recalled scenes (maximum de scènes rappelées)3Plafond du nombre de scènes rappelées par réponse. 0 désactive le rappel facultatif des scènes.
Moving context (contexte mobile)3 à 5 messagesMessages de chaque extrait rappelé. 0 pour les deux donne des résumés sans extraits.
Standalone scene check interval (messages) (intervalle de vérification de scène autonome, en messages)5Nombre de nouveaux messages entre deux vérifications de scène.
Use Decision model (utiliser un modèle de décision)DésactivéPermet à un modèle de décision de trouver les fins de scène et de choisir les souvenirs.
Decide who sees new messages (décider qui voit les nouveaux messages)DésactivéUniquement dans les chats de groupe où les personnages répondent l'un après l'autre.
Character recollections (souvenirs personnels des personnages)DésactivéDonne à chaque personnage son propre souvenir d'une scène.

La valeur par défaut du budget est 10% du maximum par défaut. Modifier le maximum ensuite ne la change pas. Le plafond couvre tout le prompt sortant estimé : instructions, messages, contexte rappelé, outils et pièces jointes. Les tokens de réponse et la marge de sécurité sont comptés à part. C'est une estimation, pas un décompte exact du tokenizer ni une limite de facturation.

Tous les appels de résumé de la mémoire utilisent Chat Summary → Maximum output size, avec au moins 8 196 tokens de sortie pour laisser de la place au raisonnement.

Préparer l'historique existant

  1. Clique sur Prepare existing history. Les modèles retenus s'affichent avant le début.
  2. Patiente. Le traitement parcourt l'ancien historique par lots et affiche son étape actuelle.
  3. Utilise Cancel (annuler) pour l'arrêter. Le travail terminé est conservé. Utilise Resume (reprendre) pour continuer, même après avoir fermé le panneau latéral, redémarré le serveur ou mis à jour l'application.

Un appel au modèle qui échoue conserve la mémoire valide précédente et affiche une erreur pour réessayer. Ne réinitialise pas la mémoire après un échec : Resume réutilise les résumés terminés. La dernière scène en cours reste ouverte et sera résumée à sa fermeture.

Si l'historique récupéré change une scène couverte par une correction manuelle, désactive ce souvenir pour garder son texte comme référence, ou supprime-le, puis prépare de nouveau l'historique. Fix (corriger) ignore cette scène et la liste au lieu de s'arrêter.

Une branche créée à partir d'un chat préparé, par exemple avec Branch from here (créer une branche ici), garde son Advanced Memory. Une branche créée à l'intérieur d'une scène rouvre cette scène : son ancien résumé est supprimé et un nouveau est écrit à sa fermeture. Un chat importé comme nouvelle branche est préparé comme d'habitude.

Corriger les problèmes de mémoire

Quand quelque chose est cassé dans la mémoire d'un chat, un point fixe de ta couleur d'accentuation apparaît sur le bouton Chat Settings, et une notification indique combien de scènes posent problème. Chaque série de problèmes n'est annoncée qu'une fois, et le point reste affiché jusqu'à ce qu'ils soient réglés. Dans Chat Settings → Memory Recall, les problèmes sont listés au-dessus des réglages. Access memories for this chat affiche le même point.

Appuie sur Fix, dans la notification ou dans la liste, pour réparer toutes les scènes signalées en une seule passe. La réparation utilise le Helper model. Pause processing (suspendre le traitement) l'interrompt et Resume processing (reprendre le traitement) la poursuit. Fix :

Fix ne réécrit jamais un résumé que tu as modifié à la main. Il le liste sous need your review (à vérifier) et continue. Il ne peut pas changer des réglages à ta place, comme la plage de connaissance d'un personnage ou le choix d'une connexion de décision qui fonctionne.

Quand Fix a terminé, il affiche "Advanced Memory fixed N scenes" et les numéros des scènes à vérifier. Sélectionne un numéro pour ouvrir cette scène dans Access memories for this chat. Si Chat Settings était fermé, une notification avec Show (afficher) t'y amène. Le Fix suivant ne redemande rien sur une scène que Fix n'a pas pu trancher : enregistre donc toi-même l'accès de ses personnages.

Réanalyser les scènes

Si des changements de scène ont été manqués, par exemple quand une scène ne s'est jamais terminée, utilise Re-scan scenes (réanalyser les scènes) dans Chat Settings → Memory Recall.

  1. Saisis le numéro du premier et du dernier message à vérifier. Au départ, la plage couvre la scène en cours.
  2. Appuie sur Re-scan (réanalyser).

Advanced Memory retrouve les changements de scène dans ces messages et résume les scènes qui ont changé. Il utilise le modèle de décision quand Use Decision model est activé, et le modèle auxiliaire sinon. Les scènes hors de la plage gardent leurs limites et leurs résumés. Si un résumé que tu as modifié devait changer, la réanalyse s'arrête et nomme cette scène.

Modèle de décision facultatif

Un modèle de décision est un petit modèle qui répond à des questions par oui ou par non. Cette option est désactivée par défaut et enregistrée pour chaque chat Roleplay.

  1. Active Use Decision model dans Advanced Memory.
  2. Choisis un modèle dans Memory Decision connection (connexion de décision pour la mémoire). Sous Built-in model (modèle intégré), la liste propose les mêmes modèles que le Decision model (modèle de décision) global. Un modèle qui ne peut pas encore répondre est grisé et indique pourquoi, et un modèle arrêté démarre quand il est sollicité. Sous Connections, elle affiche tes comptes de décision enregistrés. Voir Modèles de décision.

Ce choix est distinct du réglage global de décision par défaut.

Le modèle identifie les limites de scène pendant la préparation de l'historique et la vérification des scènes en cours. Avant une nouvelle réponse, il choisit les souvenirs en deux passes. Voir Fonctionnement du rappel par décision pour les détails.

Les comptes de services hébergés reçoivent le texte récent de la conversation et les récapitulatifs ou messages présélectionnés à évaluer, et peuvent facturer plusieurs requêtes pour une réponse. Le rappel filtre les accès des personnages avant d'envoyer les candidats.

Décider qui voit les nouveaux messages

Dans un chat de groupe Roleplay où les personnages répondent l'un après l'autre, Advanced Memory peut décider quels personnages voient chaque nouveau message. Tu n'as alors pas à masquer chaque réplique à un personnage qui a quitté la scène. Les chats de groupe fusionnés et les chats à un seul personnage ne proposent pas cette option.

  1. Active Decide who sees new messages dans Advanced Memory.

Chaque nouveau message, le tien ou celui d'un personnage, est masqué aux personnages qui ne sont pas dans la scène. Le résultat utilise le même masquage Hide from AI (masquer à l'IA) par personnage que le bouton du message lui-même : le marqueur en forme d'œil barré montre donc qui ne peut pas le voir. Pour ton message, la décision est prise dès que tu l'envoies. Pour les messages précédents, elle est prise avant que le personnage suivant réponde.

Avec Advanced Memory activé, une nouvelle réponse de personnage peut changer de scène ou de point de vue grâce à une ligne de séparation comme **, --- ou . La réponse est alors enregistrée sous forme de messages distincts du même personnage, un par partie.

Souvenirs personnels des personnages

Active Character recollections pour donner à chaque personnage son propre souvenir d'une scène. Cette option est désactivée par défaut.

Comment ils restent exacts :

Où ils apparaissent et ce qu'ils coûtent :

Modifier et désactiver :

En Game Mode

Les chats Game Mode activent Advanced Memory Recall dans Chat Settings → Memory Recall, de la même façon. Sans cette option, une session Game envoie tout son historique à chaque tour jusqu'à la limite de contexte : une longue session coûte donc bien plus de tokens d'entrée par tour. Avec elle, le prompt reste sous Maximum allowed context before compression. La scène en cours est envoyée sous forme de messages actuels, et les scènes précédentes sous forme de récapitulatifs accompagnés des moments que le rappel choisit.

Dépannage

ProblèmeSolution
Memory Recall ne rappelle rienVérifie qu'une source d'embeddings est configurée. Si des blocs affichent Embedding unavailable, définis un modèle dans Semantic search (embeddings) ou utilise le modèle intégré. Voir Configuration du modèle intégré.
Des blocs affichent Waiting for vectorLaisse-leur le temps. Les empreintes se construisent après les réponses.
Rien ne semble liéLe rappel n'ajoute que les souvenirs étroitement liés. Ne rien ajouter est normal.
Le rappel s'est dégradé après un changement de modèle d'embeddingsUtilise l'icône de reconstruction dans Memories for This Chat.
Les résumés ne se génèrent pasLe chat a besoin d'un compte texte qui fonctionne. Chat Summary utilise Summary Provider. Si aucun ne fonctionne, la génération est ignorée.
Les résumés de l'IA n'apparaissent jamaisReview Agent Outputs attend peut-être ton approbation.
Un résumé est bloquéLes résumés qui échouent sont réessayés après un délai. Lance Backfill Summary (Roleplay) ou Backfill (Conversation).
Une scène est marquée Check who was thereAppuie sur Fix, ou ouvre-la dans Access memories for this chat et utilise Edit character access (modifier l'accès des personnages).

Pour les autres problèmes, voir Résoudre les problèmes de Marinara Engine.

Référence d'Advanced Memory

Des détails dont la plupart des lecteurs n'ont pas besoin. Les réglages ci-dessus fonctionnent sans lire cette partie.

Comment les scènes sont détectées et résumées

La fenêtre actuelle et le budget

Ce que renvoie le rappel

Access memories for this chat

Ouvre cette vue pour chercher dans les résumés de scènes numérotés, voir leurs périodes et leurs publics, modifier Summary text (texte du résumé) ou lire les originaux avec Inspect source messages (examiner les messages sources). Tu peux désactiver des enregistrements, utiliser Reindex (réindexer), exporter et importer, ou utiliser Delete all memories (supprimer tous les souvenirs) pour recommencer la préparation en conservant le chat et ses réglages. Les corrections des résumés manuels sont conservées et invalident la continuité qui en dépend. Delete summary (supprimer le résumé), en bas d'un résumé, le supprime après que tu as confirmé le résumé et son public. Cela fonctionne aussi pour les anciennes entrées Continuity (continuité) et Ongoing scene (scène en cours). La préparation habituelle ne recrée pas les récapitulatifs supprimés.

Pour exclure une scène du rappel, désactive son enregistrement de mémoire. Le masquage propre à chaque personnage contrôle toujours qui peut y accéder. Le masquage global ne la retire pas de l'archive.

Qui peut lire une scène

Fonctionnement du rappel par décision

Placement dans un preset

Les auteurs de presets peuvent placer ces marqueurs de contenu avec les commandes habituelles d'ordre, de nom, de rôle et de groupe des sections :

MarqueurContenu
chat_summaryEntrées constantes admissibles de Chat Summaries.
current_scene_summaryExtraits sources de la partie la plus ancienne d'une scène en cours.
recalled_scenesTous les résumés de scènes sélectionnés, chacun suivi de son extrait.

Chacun suit le format XML, Markdown ou None du preset. Les composants vides ne produisent rien. Le premier marqueur activé détermine la position. Les composants sans marqueur activé apparaissent une seule fois avant l'historique, pour que les anciens presets fonctionnent. Le sélecteur du preset propose uniquement Recalled Scenes. Un ancien marqueur recalled_messages est un alias, et un marqueur recalled_scenes activé a priorité. Ces marqueurs sont vides quand Advanced Memory est désactivé.

Limites

Le rappel est sélectif, et les résumés peuvent perdre des nuances. Conserve les corrections importantes dans la transcription source ou dans l'éditeur de résumés. Si les embeddings échouent, un rappel textuel limité et la continuité valide restent disponibles. L'archive n'est jamais insérée en entier. Si les instructions ou une pièce jointe ne tiennent pas dans le plafond, réduis-les ou augmente le plafond. Si la réserve de réponse ne tient pas dans le contexte total du modèle, réduis la taille de sortie ou choisis un modèle au contexte plus grand. Advanced Memory s'arrête plutôt que de supprimer silencieusement des instructions.

Tant qu'il est activé, le mode avancé gère la récupération des souvenirs : Standard Recall n'insère donc pas de deuxième copie. Il remplace aussi le calendrier habituel des résumés automatiques Roleplay de ce chat. Le désactiver rétablit les réglages habituels. Les lorebooks existants et les agents téléchargeables gardent leurs propres règles de portée.

Guides associés