Table of Contents

Event BeforeMemoryStored

Namespace
LMKit.Agents
Assembly
LM-Kit.NET.dll

Occurs after facts have been extracted and deduplicated, but before they are stored.

public event EventHandler<MemoryExtractionEventArgs> BeforeMemoryStored

Returns

EventHandler<MemoryExtractionEventArgs>
Occurs after facts have been extracted and deduplicated, but before they are stored.

Examples

Example: Logging and filtering extracted memories

using LMKit.Agents;
using LMKit.Agents.Memory;
using LMKit.Model;

using var embeddingModel = new LM("path/to/embedding-model.gguf");
var memory = new AgentMemory(embeddingModel);
memory.ExtractionMode = MemoryExtractionMode.LlmBased;

memory.BeforeMemoryStored += (sender, args) =>
{
    foreach (var mem in args.Memories)
    {
        Console.WriteLine($"Extracted: {mem}");
        // Only keep high-importance memories
        if (mem.Importance == MemoryImportance.Low)
            mem.Cancel = true;
    }
};

Remarks

This event fires only for new, non-duplicate memories. Duplicates are silently filtered before the event is raised, so subscribers only see memories that will actually be stored. Set Cancel to true on individual memories, or set CancelAll to true to skip all.