Memories
Memories are the fundamental unit of storage in Memorer. Each memory represents a piece of knowledge about a user or topic.
Memory types
| Type | Description | Example |
|---|---|---|
| Direct | Explicitly stored via remember() | ”User prefers dark mode” |
| Derived | Extracted from conversations | ”User mentioned they live in Seattle” |
| Inferred | Generated through graph reasoning | ”User likely works in tech (based on tools mentioned)“ |
Storing memories
user = client.for_user("user-123")
# Simple text
result = user.remember("Alice prefers Python over JavaScript")
# The result contains extraction metadata
print(result.entities_created) # Number of entities extracted
print(result.relationships_created) # Number of relationships created
print(result.episodes_created) # Number of episodes created
print(result.processing_time_ms) # Processing timeYou can also pass multiple items, dicts, or Document objects:
user.remember(["First fact", "Second fact"])Recalling memories
# Semantic search
results = user.recall("What programming language does Alice like?")
for result in results:
print(result.content) # The memory text
print(result.relevance_score) # 0.0 to 1.0
# Access the combined context string
print(results.context)Recall options
results = user.recall(
"What does Alice do?",
top_k=10, # Number of results (default: 10)
use_graph_reasoning=True, # Enable multi-hop graph traversal
use_emotional_ranking=True, # Apply emotional scoring (default: True)
)Forgetting memories
# Delete a specific memory by ID
user.forget("memory-uuid-here")Memory consolidation
Over time, memories can become redundant or contradictory. Memorer’s consolidation process automatically:
- Merges duplicate or near-duplicate memories
- Updates memories when newer information contradicts older ones
- Removes stale or low-relevance memories
- Strengthens frequently-accessed memories
Last updated on