Fix dependency and tests and updated docstring (#3337)

This commit is contained in:
Parshva Daftari
2025-08-19 02:12:24 +05:30
committed by GitHub
parent 346b913ace
commit c8ee17b884
6 changed files with 53 additions and 22 deletions
+13 -3
View File
@@ -265,12 +265,17 @@ class MemoryClient:
) -> Dict[str, Any]:
"""
Update a memory by ID.
Args:
memory_id (str): Memory ID.
text (str, optional): Data to update in the memory.
text (str, optional): New content to update the memory with.
metadata (dict, optional): Metadata to update in the memory.
Returns:
Dict[str, Any]: The response from the server.
Example:
>>> client.update(memory_id="mem_123", text="Likes to play tennis on weekends")
"""
if text is None and metadata is None:
raise ValueError("Either text or metadata must be provided for update.")
@@ -1054,13 +1059,18 @@ class AsyncMemoryClient:
self, memory_id: str, text: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None
) -> Dict[str, Any]:
"""
Update a memory by ID.
Update a memory by ID asynchronously.
Args:
memory_id (str): Memory ID.
text (str, optional): Data to update in the memory.
text (str, optional): New content to update the memory with.
metadata (dict, optional): Metadata to update in the memory.
Returns:
Dict[str, Any]: The response from the server.
Example:
>>> await client.update(memory_id="mem_123", text="Likes to play tennis on weekends")
"""
if text is None and metadata is None:
raise ValueError("Either text or metadata must be provided for update.")
+2 -2
View File
@@ -32,10 +32,10 @@ class MemoryBase(ABC):
Args:
memory_id (str): ID of the memory to update.
data (dict): Data to update the memory with.
data (str): New content to update the memory with.
Returns:
dict: Updated memory.
dict: Success message indicating the memory was updated.
"""
pass
+21 -4
View File
@@ -730,10 +730,14 @@ class Memory(MemoryBase):
Args:
memory_id (str): ID of the memory to update.
data (dict): Data to update the memory with.
data (str): New content to update the memory with.
Returns:
dict: Updated memory.
dict: Success message indicating the memory was updated.
Example:
>>> m.update(memory_id="mem_123", data="Likes to play tennis on weekends")
{'message': 'Memory updated successfully!'}
"""
capture_event("mem0.update", self, {"memory_id": memory_id, "sync_type": "sync"})
@@ -994,6 +998,15 @@ class AsyncMemory(MemoryBase):
else:
self.graph = None
self.config.vector_store.config.collection_name = "mem0migrations"
if self.config.vector_store.provider in ["faiss", "qdrant"]:
provider_path = f"migrations_{self.config.vector_store.provider}"
self.config.vector_store.config.path = os.path.join(mem0_dir, provider_path)
os.makedirs(self.config.vector_store.config.path, exist_ok=True)
self._telemetry_vector_store = VectorStoreFactory.create(
self.config.vector_store.provider, self.config.vector_store.config
)
capture_event("mem0.init", self, {"sync_type": "async"})
@classmethod
@@ -1580,10 +1593,14 @@ class AsyncMemory(MemoryBase):
Args:
memory_id (str): ID of the memory to update.
data (dict): Data to update the memory with.
data (str): New content to update the memory with.
Returns:
dict: Updated memory.
dict: Success message indicating the memory was updated.
Example:
>>> await m.update(memory_id="mem_123", data="Likes to play tennis on weekends")
{'message': 'Memory updated successfully!'}
"""
capture_event("mem0.update", self, {"memory_id": memory_id, "sync_type": "async"})
+5 -10
View File
@@ -11,16 +11,11 @@ import mem0
try:
import litellm
except ImportError:
user_input = input("The 'litellm' library is required. Install it now? [y/N]: ")
if user_input.lower() == "y":
try:
subprocess.check_call([sys.executable, "-m", "pip", "install", "litellm"])
import litellm
except subprocess.CalledProcessError:
print("Failed to install 'litellm'. Please install it manually using 'pip install litellm'.")
sys.exit(1)
else:
raise ImportError("The required 'litellm' library is not installed.")
try:
subprocess.check_call([sys.executable, "-m", "pip", "install", "litellm"])
import litellm
except subprocess.CalledProcessError:
print("Failed to install 'litellm'. Please install it manually using 'pip install litellm'.")
sys.exit(1)
from mem0 import Memory, MemoryClient