74 lines
1.7 KiB
Python
74 lines
1.7 KiB
Python
"""A class that does not store any data. This is the default memory provider."""
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from autogpt.memory.base import MemoryProviderSingleton
|
|
|
|
|
|
class NoMemory(MemoryProviderSingleton):
|
|
"""
|
|
A class that does not store any data. This is the default memory provider.
|
|
"""
|
|
|
|
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) -> list[Any] | None:
|
|
"""
|
|
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) -> list[Any] | None:
|
|
"""
|
|
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 {}
|