FAQ
Basic Questions
What is the relationship between MemX and mem0?
MemX is an enhanced version (superset) of mem0, adding the ACE intelligent memory management layer. When ace_enabled=False, its behavior is fully identical to mem0 with zero overhead.
Do I need a GPU?
No. The local embedding model all-MiniLM-L6-v2 runs on CPU via ONNX Runtime (< 5ms per item); the Reflector’s rule-based pre-filtering does not depend on a GPU, and hybrid mode’s LLM refinement goes through a remote API.
Will it incur extra LLM token consumption?
The default hybrid mode only calls the LLM for valuable candidates, reducing calls by 90%+ compared to mem0's full-volume calling; when the LLM is unavailable it automatically degrades to pure rules with zero cost. To disable explicitly, set reflector.mode="rules".
Which vector databases are supported?
It inherits all of mem0's (Qdrant, Chroma, Pinecone, Weaviate, Milvus, etc.); the default in-memory storage is suitable for development and testing.
Usage Questions
How do I migrate from mem0?
pip install git+https://github.com/UU114/memx.gitChange
from mem0 import Memorytofrom memx import MemoryExisting code requires no changes (ACE is disabled by default).
When you’re ready, add
config={"ace_enabled": True}to enable the intelligent features.
Where is the data stored?
It depends on the configured vector database backend; the default is in-memory (lost on restart), and persistence with Qdrant/Chroma is recommended for production. The local embedding model is cached in ~/.memx/models/.
How do I control the decay speed?
| Parameter | Effect |
|---|---|
decay.half_life_days | Increase → slower decay (default 30 days) |
decay.boost_factor | Increase → more pronounced recall reinforcement (default 0.1) |
decay.permanent_threshold | Decrease → easier to become permanent memory (default 15 times) |
How do I handle misjudged knowledge?
memx list --scope project:my-app— viewmemx forget <memory-id>— deletememx learn "correct knowledge"— add manually
How can multiple people / multiple agents share memory?
Enable daemon mode, where multiple agents share the same knowledge base via an IPC socket (IDE plugins, team collaboration), using scope to distinguish projects/workspaces.
Privacy Questions
Filtering cannot be turned off
The 12 built-in sensitive-information filtering rules are a non-disableable security baseline; you can only add extra rules through privacy_custom_patterns.
Which types of sensitive information filtering are supported?
| Type | Example |
|---|---|
| PEM private key | -----BEGIN RSA PRIVATE KEY----- |
| Bearer / JWT Token | Bearer eyJhbG... |
| Anthropic API Key | sk-ant-api03-* |
| OpenAI API Key | sk-proj-* |
| GitHub Token | ghp_*, github_pat_* |
| AWS Access Key | AKIA* |
| AWS Secret Key | 40-character base64 |
| Database connection string | postgres://user:pass@host/db |
| Operating system path | /home/user/.ssh/id_rsa |
| Custom rule | Added via privacy_custom_patterns |
INFO
These 12 rules focus on sensitive information of the secrets and local paths kind (secrets + user paths), and are not PII in the traditional sense (email / phone / ID numbers, etc.). If you need PII filtering, extend it yourself through privacy_custom_patterns.
Where does the filtered original value go?
It is replaced by a placeholder (such as [REDACTED:api_key]), and the original value is not stored anywhere. Filtering is performed at the very front of the write pipeline.
Performance Questions
How many memories can it store?
It depends on the vector database backend’s capacity; MemX itself has no hard limit; the decay engine automatically archives to keep the active scale reasonable.
Does the RecallReinforcer affect search performance?
No. It is an asynchronous background thread that only updates recall_count after results are returned, without blocking the search.
How large is the retrieval latency? (< 10,000 memories)
| Operation | Latency |
|---|---|
| Four-layer hybrid search | 10-50ms |
| Pure keyword search (L4 degradation) | 5-20ms |
| Local embedding computation | < 5ms |
| Write (including Reflector + Curator) | 20-100ms |