Skip to content

conversation

__all__ = ['BaseConversationMemoryDriver'] module-attribute

BaseConversationMemoryDriver

Bases: SerializableMixin, ABC

Source code in griptape/drivers/memory/conversation/base_conversation_memory_driver.py
class BaseConversationMemoryDriver(SerializableMixin, ABC):
    @abstractmethod
    def store(self, runs: list[Run], metadata: dict[str, Any]) -> None: ...

    @abstractmethod
    def load(self) -> tuple[list[Run], dict[str, Any]]: ...

    def _to_params_dict(self, runs: list[Run], metadata: dict[str, Any]) -> dict:
        return {"runs": [run.to_dict() for run in runs], "metadata": metadata}

    def _from_params_dict(self, params_dict: dict[str, Any]) -> tuple[list[Run], dict[str, Any]]:
        from griptape.memory.structure import Run

        return [Run.from_dict(run) for run in params_dict.get("runs", [])], params_dict.get("metadata", {})

_from_params_dict(params_dict)

Source code in griptape/drivers/memory/conversation/base_conversation_memory_driver.py
def _from_params_dict(self, params_dict: dict[str, Any]) -> tuple[list[Run], dict[str, Any]]:
    from griptape.memory.structure import Run

    return [Run.from_dict(run) for run in params_dict.get("runs", [])], params_dict.get("metadata", {})

_to_params_dict(runs, metadata)

Source code in griptape/drivers/memory/conversation/base_conversation_memory_driver.py
def _to_params_dict(self, runs: list[Run], metadata: dict[str, Any]) -> dict:
    return {"runs": [run.to_dict() for run in runs], "metadata": metadata}

load() abstractmethod

Source code in griptape/drivers/memory/conversation/base_conversation_memory_driver.py
@abstractmethod
def load(self) -> tuple[list[Run], dict[str, Any]]: ...

store(runs, metadata) abstractmethod

Source code in griptape/drivers/memory/conversation/base_conversation_memory_driver.py
@abstractmethod
def store(self, runs: list[Run], metadata: dict[str, Any]) -> None: ...