|
"""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 {} |
|
|