LMM — Living Memory Model¶
A verifiable memory layer for language models. Facts live in a graph, every claim carries its source, and an answer the memory does not support cannot leave the system.
from lmm import Memory
m = Memory("mind.lmm") # persistent; Memory() is transient
m.learn("manual.pdf") # pdf · docx · xlsx · csv · md · txt · or text
print(m.ask("what is the screen's diagonal?"))
m.save()
That is the whole quickstart. One method reads every format, and the file extension picks the adapter.
The one rule¶
In an LLM, knowledge is frozen into weights at training time. In LMM, knowledge lives in a memory you can write to, inspect and audit — which is what makes "I don't know" trustworthy rather than polite.
The engine cannot write records, and cannot speak unsupported facts. Every other property of this system is downstream of that sentence.
Measured, not promised¶
| same engine, median of 3 | LMM | GraphRAG |
|---|---|---|
| Fictional corpus, 17 questions | 17/17 · spread 0 | 16/17 |
| NIST SP 800-63B, 13 questions | 11/13 · spread 0 | 7/13 · spread 2 |
| Indexing that standard | 0 model calls | 220 calls · 498k tokens |
| Wrong facts asserted | 0 | 1 |
Every number on this site carries the commit it was measured at, and the two bugs found in our own scorer — both penalising the competitor — were published with the corrected numbers.
Where to go¶
- Getting started — install, learn, ask.
- Why a memory — the argument, in five minutes.
- The API surface — everything callable, and what needs an engine (most of it does not).
- Honest limits — what this does not do, measured.