fix: update parameter added to the update function which is exposed t… (#3799)
Co-authored-by: utkarsh240799 <utkarsh240799@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
utkarsh240799
Claude Opus 4.6
parent
7fff26f374
commit
5edc0cc99f
+12
-4
@@ -1081,13 +1081,15 @@ class Memory(MemoryBase):
|
||||
|
||||
return original_memories
|
||||
|
||||
def update(self, memory_id, data):
|
||||
def update(self, memory_id, data, metadata: Optional[Dict[str, Any]] = None):
|
||||
"""
|
||||
Update a memory by ID.
|
||||
|
||||
Args:
|
||||
memory_id (str): ID of the memory to update.
|
||||
data (str): New content to update the memory with.
|
||||
metadata (dict, optional): Additional metadata to update. Existing metadata fields
|
||||
not specified here will be preserved. Defaults to None.
|
||||
|
||||
Returns:
|
||||
dict: Success message indicating the memory was updated.
|
||||
@@ -1095,12 +1097,14 @@ class Memory(MemoryBase):
|
||||
Example:
|
||||
>>> m.update(memory_id="mem_123", data="Likes to play tennis on weekends")
|
||||
{'message': 'Memory updated successfully!'}
|
||||
>>> m.update(memory_id="mem_123", data="Likes tennis", metadata={"category": "sports"})
|
||||
{'message': 'Memory updated successfully!'}
|
||||
"""
|
||||
capture_event("mem0.update", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||
|
||||
existing_embeddings = {data: self.embedding_model.embed(data, "update")}
|
||||
|
||||
self._update_memory(memory_id, data, existing_embeddings)
|
||||
self._update_memory(memory_id, data, existing_embeddings, metadata)
|
||||
return {"message": "Memory updated successfully!"}
|
||||
|
||||
def delete(self, memory_id):
|
||||
@@ -2201,13 +2205,15 @@ class AsyncMemory(MemoryBase):
|
||||
|
||||
return original_memories
|
||||
|
||||
async def update(self, memory_id, data):
|
||||
async def update(self, memory_id, data, metadata: Optional[Dict[str, Any]] = None):
|
||||
"""
|
||||
Update a memory by ID asynchronously.
|
||||
|
||||
Args:
|
||||
memory_id (str): ID of the memory to update.
|
||||
data (str): New content to update the memory with.
|
||||
metadata (dict, optional): Additional metadata to update. Existing metadata fields
|
||||
not specified here will be preserved. Defaults to None.
|
||||
|
||||
Returns:
|
||||
dict: Success message indicating the memory was updated.
|
||||
@@ -2215,13 +2221,15 @@ class AsyncMemory(MemoryBase):
|
||||
Example:
|
||||
>>> await m.update(memory_id="mem_123", data="Likes to play tennis on weekends")
|
||||
{'message': 'Memory updated successfully!'}
|
||||
>>> await m.update(memory_id="mem_123", data="Likes tennis", metadata={"category": "sports"})
|
||||
{'message': 'Memory updated successfully!'}
|
||||
"""
|
||||
capture_event("mem0.update", self, {"memory_id": memory_id, "sync_type": "async"})
|
||||
|
||||
embeddings = await asyncio.to_thread(self.embedding_model.embed, data, "update")
|
||||
existing_embeddings = {data: embeddings}
|
||||
|
||||
await self._update_memory(memory_id, data, existing_embeddings)
|
||||
await self._update_memory(memory_id, data, existing_embeddings, metadata)
|
||||
return {"message": "Memory updated successfully!"}
|
||||
|
||||
async def delete(self, memory_id):
|
||||
|
||||
Reference in New Issue
Block a user