From 85334cb61776e5231cfa5d0b2ff46dd5d5d12906 Mon Sep 17 00:00:00 2001 From: Brandon Hancock Date: Fri, 7 Feb 2025 13:57:23 -0500 Subject: [PATCH] revert ltm --- src/crewai/memory/entity/entity_memory.py | 16 ++++++++++++---- .../memory/short_term/short_term_memory.py | 3 --- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/crewai/memory/entity/entity_memory.py b/src/crewai/memory/entity/entity_memory.py index bab5068cb..536da72e4 100644 --- a/src/crewai/memory/entity/entity_memory.py +++ b/src/crewai/memory/entity/entity_memory.py @@ -1,3 +1,7 @@ +from typing import Any, Optional + +from pydantic import PrivateAttr + from crewai.memory.entity.entity_memory_item import EntityMemoryItem from crewai.memory.memory import Memory from crewai.memory.storage.rag_storage import RAGStorage @@ -10,13 +14,15 @@ class EntityMemory(Memory): Inherits from the Memory class. """ + _memory_provider: Optional[str] = PrivateAttr() + def __init__(self, crew=None, embedder_config=None, storage=None, path=None): if crew and hasattr(crew, "memory_config") and crew.memory_config is not None: - self.memory_provider = crew.memory_config.get("provider") + memory_provider = crew.memory_config.get("provider") else: - self.memory_provider = None + memory_provider = None - if self.memory_provider == "mem0": + if memory_provider == "mem0": try: from crewai.memory.storage.mem0_storage import Mem0Storage except ImportError: @@ -36,11 +42,13 @@ class EntityMemory(Memory): path=path, ) ) + super().__init__(storage=storage) + self._memory_provider = memory_provider def save(self, item: EntityMemoryItem) -> None: # type: ignore # BUG?: Signature of "save" incompatible with supertype "Memory" """Saves an entity item into the SQLite storage.""" - if self.memory_provider == "mem0": + if self._memory_provider == "mem0": data = f""" Remember details about the following entity: Name: {item.name} diff --git a/src/crewai/memory/short_term/short_term_memory.py b/src/crewai/memory/short_term/short_term_memory.py index 42fbe20a2..b7581f400 100644 --- a/src/crewai/memory/short_term/short_term_memory.py +++ b/src/crewai/memory/short_term/short_term_memory.py @@ -19,7 +19,6 @@ class ShortTermMemory(Memory): _memory_provider: Optional[str] = PrivateAttr() def __init__(self, crew=None, embedder_config=None, storage=None, path=None): - # Determine memory_provider without assigning it directly as a public field. if crew and hasattr(crew, "memory_config") and crew.memory_config is not None: memory_provider = crew.memory_config.get("provider") else: @@ -44,9 +43,7 @@ class ShortTermMemory(Memory): path=path, ) ) - # First call the parent __init__ so that Pydantic's internals are set. super().__init__(storage=storage) - # Now assign the private attribute. self._memory_provider = memory_provider def save(