Skip to main content
Modify and refine existing memories to keep user information current and accurate as preferences and circumstances evolve. Change existing memories when information updates.

Basic Update

from gravixlayer import GravixLayer

client = GravixLayer()

# Initialize memory with all required parameters
memory = client.memory(
    embedding_model="baai/bge-large-en-v1.5",
    inference_model="google/gemma-3-12b-it",
    index_name="my_memories",
    cloud_provider="AWS",
    region="us-east-1"
)

# Add a memory to update
add_result = memory.add("User likes pizza", user_id="alice")
memory_id = add_result['results'][0]['id']

# Update the memory content
update_result = memory.update(memory_id, "alice", "User loves pizza and Italian cuisine")
print(f"Update result: {update_result['message']}")

# Verify the update
updated_memories = memory.get_all(user_id="alice")
for mem in updated_memories['results']:
    if mem['id'] == memory_id:
        print(f"Updated content: {mem['memory']}")
        break
Expected Output:
Update result: Memory a1b2c3d4-e5f6-7890-abcd-ef1234567890 updated successfully!
Updated content: User loves pizza and Italian cuisine

Update in Categories

Update memories in specific categories for better organization:
from gravixlayer import GravixLayer

client = GravixLayer()

# Initialize memory for user preferences
prefs_memory = client.memory(
    embedding_model="baai/bge-large-en-v1.5",
    inference_model="google/gemma-3-12b-it",
    index_name="user_preferences",
    cloud_provider="AWS",
    region="us-east-1"
)

# Initialize memory for work info
work_memory = client.memory(
    embedding_model="baai/bge-large-en-v1.5",
    inference_model="google/gemma-3-12b-it",
    index_name="work_info",
    cloud_provider="AWS",
    region="us-east-1"
)

# Set up memories in different categories
print("Setting up categorized memories...")

# Add to user preferences
pref_result = prefs_memory.add("User prefers light theme", user_id="alice", metadata={"type": "ui"})
pref_memory_id = pref_result['results'][0]['id']

# Add to work info
work_result = work_memory.add("User works as junior developer", user_id="alice", metadata={"type": "job"})
work_memory_id = work_result['results'][0]['id']

print("Added memories to different categories\n")

# Update memory in user preferences
print("Updating user preference...")
pref_update = prefs_memory.update(pref_memory_id, "alice", "User strongly prefers dark theme", 
                                  metadata={"type": "ui", "strength": "strong"})
print(f"Preference update: {pref_update['message']}")

# Update memory in work info
print("\nUpdating work information...")
work_update = work_memory.update(work_memory_id, "alice", "User works as senior software engineer", 
                                metadata={"type": "job", "level": "senior"})
print(f"Work update: {work_update['message']}")

# Verify updates in each category
print("\n=== VERIFICATION ===")

prefs = prefs_memory.get_all(user_id="alice")
for mem in prefs['results']:
    if mem['id'] == pref_memory_id:
        print(f"\nuser_preferences:")
        print(f"  Content: {mem['memory']}")
        print(f"  Metadata: {mem.get('metadata', {})}")
        print(f"  Updated: {mem.get('updated_at', 'N/A')}")
        break

work = work_memory.get_all(user_id="alice")
for mem in work['results']:
    if mem['id'] == work_memory_id:
        print(f"\nwork_info:")
        print(f"  Content: {mem['memory']}")
        print(f"  Metadata: {mem.get('metadata', {})}")
        print(f"  Updated: {mem.get('updated_at', 'N/A')}")
        break

# List all available indexes
indexes = prefs_memory.list_available_indexes()
print(f"\nAvailable indexes: {indexes}")
Expected Output:
Setting up categorized memories...
✅ Switched to index: user_preferences
✅ Switched to index: work_info
Added memories to different categories

Updating user preference...
✅ Switched to index: user_preferences
Memory b2c3d4e5-f6g7-8901-bcde-f23456789012 updated successfully!

Updating work information...
✅ Switched to index: work_info
Memory c3d4e5f6-g7h8-9012-cdef-345678901234 updated successfully!

=== VERIFICATION ===
✅ Switched to index: user_preferences

user_preferences:
  Content: User strongly prefers dark theme
  Metadata: {'type': 'ui', 'strength': 'strong'}
  Updated: 2025-10-22T10:40:15.123456

✅ Switched to index: work_info

work_info:
  Content: User works as senior software engineer
  Metadata: {'type': 'job', 'level': 'senior'}
  Updated: 2025-10-22T10:40:16.234567

Available indexes: ['gravixlayer_memories', 'user_preferences', 'work_info']