Skip to content

Meta

__all__ = ['BaseMetaEntry', 'MetaMemory', 'ActionSubtaskMetaEntry'] module-attribute

ActionSubtaskMetaEntry

Bases: BaseMetaEntry

Used to store ActionSubtask data to preserve TaskMemory pointers and context in the form of thought and action.

Attributes:

Name Type Description
thought Optional[str]

CoT thought string from the LLM.

actions str

ReAct actions JSON string from the LLM.

answer str

tool-generated and memory-processed response from Griptape.

Source code in griptape/memory/meta/action_subtask_meta_entry.py
@define
class ActionSubtaskMetaEntry(BaseMetaEntry):
    """Used to store ActionSubtask data to preserve TaskMemory pointers and context in the form of thought and action.

    Attributes:
        thought: CoT thought string from the LLM.
        actions: ReAct actions JSON string from the LLM.
        answer: tool-generated and memory-processed response from Griptape.
    """

    type: str = field(default=BaseMetaEntry.__name__, kw_only=True, metadata={"serializable": False})
    thought: Optional[str] = field(default=None, kw_only=True, metadata={"serializable": True})
    actions: str = field(kw_only=True, metadata={"serializable": True})
    answer: str = field(kw_only=True, metadata={"serializable": True})

actions: str = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

answer: str = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

thought: Optional[str] = field(default=None, kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

type: str = field(default=BaseMetaEntry.__name__, kw_only=True, metadata={'serializable': False}) class-attribute instance-attribute

BaseMetaEntry

Bases: SerializableMixin, ABC

Source code in griptape/memory/meta/base_meta_entry.py
@define
class BaseMetaEntry(SerializableMixin, ABC):
    ...

MetaMemory

Used to store meta entries that can be shared between tasks.

Attributes:

Name Type Description
entries list[BaseMetaEntry]

a list of meta entries for downstream tasks and subtasks to load.

Source code in griptape/memory/meta/meta_memory.py
@define
class MetaMemory:
    """Used to store meta entries that can be shared between tasks.

    Attributes:
        entries: a list of meta entries for downstream tasks and subtasks to load.
    """

    entries: list[BaseMetaEntry] = field(factory=list, kw_only=True)

    def add_entry(self, entry: BaseMetaEntry) -> None:
        self.entries.append(entry)

entries: list[BaseMetaEntry] = field(factory=list, kw_only=True) class-attribute instance-attribute

add_entry(entry)

Source code in griptape/memory/meta/meta_memory.py
def add_entry(self, entry: BaseMetaEntry) -> None:
    self.entries.append(entry)