mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-18 22:44:21 +01:00
Merge pull request #1032 from merwanehamadi/feature/ability-have-no-memory
Feature/ability have no memory
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
from memory.local import LocalCache
|
from memory.local import LocalCache
|
||||||
|
from memory.no_memory import NoMemory
|
||||||
|
|
||||||
# List of supported memory backends
|
# List of supported memory backends
|
||||||
# Add a backend to this list if the import attempt is successful
|
# Add a backend to this list if the import attempt is successful
|
||||||
@@ -34,6 +35,8 @@ def get_memory(cfg, init=False):
|
|||||||
" use Redis as a memory backend.")
|
" use Redis as a memory backend.")
|
||||||
else:
|
else:
|
||||||
memory = RedisMemory(cfg)
|
memory = RedisMemory(cfg)
|
||||||
|
elif cfg.memory_backend == "no_memory":
|
||||||
|
memory = NoMemory(cfg)
|
||||||
|
|
||||||
if memory is None:
|
if memory is None:
|
||||||
memory = LocalCache(cfg)
|
memory = LocalCache(cfg)
|
||||||
@@ -50,4 +53,5 @@ __all__ = [
|
|||||||
"LocalCache",
|
"LocalCache",
|
||||||
"RedisMemory",
|
"RedisMemory",
|
||||||
"PineconeMemory",
|
"PineconeMemory",
|
||||||
|
"NoMemory"
|
||||||
]
|
]
|
||||||
|
|||||||
65
scripts/memory/no_memory.py
Normal file
65
scripts/memory/no_memory.py
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
from typing import Optional, List, Any
|
||||||
|
|
||||||
|
from memory.base import MemoryProviderSingleton
|
||||||
|
|
||||||
|
class NoMemory(MemoryProviderSingleton):
|
||||||
|
def __init__(self, cfg):
|
||||||
|
"""
|
||||||
|
Initializes the NoMemory provider.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
cfg: The config object.
|
||||||
|
|
||||||
|
Returns: None
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
def add(self, data: str) -> str:
|
||||||
|
"""
|
||||||
|
Adds a data point to the memory. No action is taken in NoMemory.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
data: The data to add.
|
||||||
|
|
||||||
|
Returns: An empty string.
|
||||||
|
"""
|
||||||
|
return ""
|
||||||
|
|
||||||
|
def get(self, data: str) -> Optional[List[Any]]:
|
||||||
|
"""
|
||||||
|
Gets the data from the memory that is most relevant to the given data.
|
||||||
|
NoMemory always returns None.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
data: The data to compare to.
|
||||||
|
|
||||||
|
Returns: None
|
||||||
|
"""
|
||||||
|
return None
|
||||||
|
|
||||||
|
def clear(self) -> str:
|
||||||
|
"""
|
||||||
|
Clears the memory. No action is taken in NoMemory.
|
||||||
|
|
||||||
|
Returns: An empty string.
|
||||||
|
"""
|
||||||
|
return ""
|
||||||
|
|
||||||
|
def get_relevant(self, data: str, num_relevant: int = 5) -> Optional[List[Any]]:
|
||||||
|
"""
|
||||||
|
Returns all the data in the memory that is relevant to the given data.
|
||||||
|
NoMemory always returns None.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
data: The data to compare to.
|
||||||
|
num_relevant: The number of relevant data to return.
|
||||||
|
|
||||||
|
Returns: None
|
||||||
|
"""
|
||||||
|
return None
|
||||||
|
|
||||||
|
def get_stats(self):
|
||||||
|
"""
|
||||||
|
Returns: An empty dictionary as there are no stats in NoMemory.
|
||||||
|
"""
|
||||||
|
return {}
|
||||||
Reference in New Issue
Block a user