From 7832346de4a94393b288b387072199f6c7e18fab Mon Sep 17 00:00:00 2001 From: Lucas Gomide Date: Thu, 1 May 2025 12:02:11 -0300 Subject: [PATCH] fix: support to reset memories after changing Crew's embedder The sources must not be added while initializing the Knowledge otherwise we could not reset it --- src/crewai/crew.py | 5 ++++- src/crewai/knowledge/knowledge.py | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/crewai/crew.py b/src/crewai/crew.py index 7c9696f6d..4d1e61649 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -304,7 +304,9 @@ class Crew(BaseModel): """Initialize private memory attributes.""" self._external_memory = ( # External memory doesn’t support a default value since it was designed to be managed entirely externally - self.external_memory.set_crew(self) if self.external_memory else None + self.external_memory.set_crew(self) + if self.external_memory + else None ) self._long_term_memory = self.long_term_memory @@ -333,6 +335,7 @@ class Crew(BaseModel): embedder=self.embedder, collection_name="crew", ) + self.knowledge._add_sources() except Exception as e: self._logger.log( diff --git a/src/crewai/knowledge/knowledge.py b/src/crewai/knowledge/knowledge.py index 824325d12..ab04ecb87 100644 --- a/src/crewai/knowledge/knowledge.py +++ b/src/crewai/knowledge/knowledge.py @@ -41,7 +41,6 @@ class Knowledge(BaseModel): ) self.sources = sources self.storage.initialize_knowledge_storage() - self._add_sources() def query( self, query: List[str], results_limit: int = 3, score_threshold: float = 0.35