mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-09 08:08:32 +00:00
* reseting memory on cli * using storage.reset * deleting memories on command * added tests * handle when no flags are used * added docs
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from crewai.memory.entity.entity_memory_item import EntityMemoryItem
|
|
from crewai.memory.memory import Memory
|
|
from crewai.memory.storage.rag_storage import RAGStorage
|
|
|
|
|
|
class EntityMemory(Memory):
|
|
"""
|
|
EntityMemory class for managing structured information about entities
|
|
and their relationships using SQLite storage.
|
|
Inherits from the Memory class.
|
|
"""
|
|
|
|
def __init__(self, crew=None, embedder_config=None):
|
|
storage = RAGStorage(
|
|
type="entities",
|
|
allow_reset=False,
|
|
embedder_config=embedder_config,
|
|
crew=crew,
|
|
)
|
|
super().__init__(storage)
|
|
|
|
def save(self, item: EntityMemoryItem) -> None: # type: ignore # BUG?: Signature of "save" incompatible with supertype "Memory"
|
|
"""Saves an entity item into the SQLite storage."""
|
|
data = f"{item.name}({item.type}): {item.description}"
|
|
super().save(data, item.metadata)
|
|
|
|
def reset(self) -> None:
|
|
try:
|
|
self.storage.reset()
|
|
except Exception as e:
|
|
raise Exception(f"An error occurred while resetting the entity memory: {e}")
|