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