nat.tool.memory_tools.common#

Attributes#

Classes#

MemoryToolConfigBase

Shared configuration for memory tools.

AddMemoryInput

LLM-controlled input for adding a memory.

GetMemoryInput

LLM-controlled input for retrieving memories.

DeleteMemoryInput

LLM-controlled input for deleting a user's memories.

Functions#

resolve_memory_user_id(→ str)

Resolve a memory identity from trusted configuration or application code.

Module Contents#

UserIdResolver#
class MemoryToolConfigBase#

Bases: nat.data_models.function.FunctionBaseConfig

Shared configuration for memory tools.

memory: nat.data_models.component_ref.MemoryRef = None#
user_id: str | None = None#
user_id_resolver: pydantic.ImportString[UserIdResolver] | None = None#
classmethod validate_user_id(value: str | None) → str | None#
validate_user_id_source() → Self#
async resolve_memory_user_id(config: MemoryToolConfigBase) → str#

Resolve a memory identity from trusted configuration or application code.

class AddMemoryInput(/, **data: Any)#

Bases: pydantic.BaseModel

LLM-controlled input for adding a memory.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

model_config#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

conversation: list[dict[str, str]] | None = None#
tags: list[str] = None#
metadata: dict[str, Any] = None#
memory: str | None = None#
class GetMemoryInput(/, **data: Any)#

Bases: pydantic.BaseModel

LLM-controlled input for retrieving memories.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

model_config#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

query: str = None#
top_k: int = None#
class DeleteMemoryInput(/, **data: Any)#

Bases: pydantic.BaseModel

LLM-controlled input for deleting a user’s memories.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

model_config#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].