Diagram

What happens when an agent saves a memory

Mem0 by default sends the conversation to a language model, which extracts facts and decides to add, update or delete memories in a vector store. XERJ stores the text as given, skips near duplicates, and indexes it for keyword and vector recall. Mem0, default (infer on) Chat messages add() LLM call extract facts Add, update or delete Vector store Qdrant default XERJ Text you choose POST /_memory/ns Skip near duplicate optional, 0.95 no model call One index BM25 + vectors
Mem0's add() runs a language model by default to turn messages into facts; pass infer=False to store raw messages instead. XERJ never calls a model on write: what you send is what gets stored, and an optional dedup check skips text at 0.95 similarity or above.