add response to m.add() call (#1732)
This commit is contained in:
@@ -4,6 +4,7 @@ import json
|
||||
import logging
|
||||
import uuid
|
||||
import warnings
|
||||
from collections import defaultdict
|
||||
from datetime import datetime
|
||||
from typing import Any, Dict
|
||||
|
||||
@@ -82,6 +83,16 @@ class Memory(MemoryBase):
|
||||
|
||||
Returns:
|
||||
dict: A dictionary containing the result of the memory addition operation.
|
||||
result: dict of affected events with each dict has the following key:
|
||||
'memories': affected memories
|
||||
'graph': affected graph memories
|
||||
|
||||
'memories' and 'graph' is a dict, each with following subkeys:
|
||||
'add': added memory
|
||||
'update': updated memory
|
||||
'delete': deleted memory
|
||||
|
||||
|
||||
"""
|
||||
if metadata is None:
|
||||
metadata = {}
|
||||
@@ -175,9 +186,10 @@ class Memory(MemoryBase):
|
||||
logging.info(resp)
|
||||
try:
|
||||
if resp["event"] == "ADD":
|
||||
_ = self._create_memory(data=resp["text"], existing_embeddings=new_message_embeddings, metadata=metadata)
|
||||
memory_id = self._create_memory(data=resp["text"], existing_embeddings=new_message_embeddings, metadata=metadata)
|
||||
returned_memories.append(
|
||||
{
|
||||
"id": memory_id,
|
||||
"memory": resp["text"],
|
||||
"event": resp["event"],
|
||||
}
|
||||
@@ -186,6 +198,7 @@ class Memory(MemoryBase):
|
||||
self._update_memory(memory_id=resp["id"], data=resp["text"], existing_embeddings=new_message_embeddings, metadata=metadata)
|
||||
returned_memories.append(
|
||||
{
|
||||
"id": resp["id"],
|
||||
"memory": resp["text"],
|
||||
"event": resp["event"],
|
||||
"previous_memory": resp["old_memory"],
|
||||
@@ -195,6 +208,7 @@ class Memory(MemoryBase):
|
||||
self._delete_memory(memory_id=resp["id"])
|
||||
returned_memories.append(
|
||||
{
|
||||
"id": resp["id"],
|
||||
"memory": resp["text"],
|
||||
"event": resp["event"],
|
||||
}
|
||||
@@ -577,6 +591,7 @@ class Memory(MemoryBase):
|
||||
created_at=new_metadata["created_at"],
|
||||
updated_at=new_metadata["updated_at"],
|
||||
)
|
||||
return memory_id
|
||||
|
||||
def _delete_memory(self, memory_id):
|
||||
logging.info(f"Deleting memory with {memory_id=}")
|
||||
@@ -584,6 +599,7 @@ class Memory(MemoryBase):
|
||||
prev_value = existing_memory.payload["data"]
|
||||
self.vector_store.delete(vector_id=memory_id)
|
||||
self.db.add_history(memory_id, prev_value, None, "DELETE", is_deleted=1)
|
||||
return memory_id
|
||||
|
||||
def reset(self):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user