Skip to content

Memory component

Provider-neutral LM components for memory workflows.

BaseMemoryLMComponent(lm_invoker, fallback_lms=None)

Bases: LMComponent, ABC

Base LM component contract for memory runtimes.

Attributes:

Name Type Description
prompt_vars set[str]

Prompt variables required by the default memory prompt.

default_system_template str

Default system prompt template.

default_user_template str

Default user prompt template.

build_request(*, messages, response_format=None, tools=None, tool_choice='auto', runtime_kwargs=None)

Build one normalized memory request from provider runtime inputs.

Parameters:

Name Type Description Default
messages list[dict[str, Any]]

Normalized memory messages.

required
response_format dict[str, Any] | None

Optional structured-output hint. Defaults to None.

None
tools list[dict[str, Any]] | None

Optional tool payload. Defaults to None.

None
tool_choice str

Optional tool-choice hint. Defaults to "auto".

'auto'
runtime_kwargs dict[str, Any] | None

Extra provider runtime arguments. Defaults to None.

None

Returns:

Name Type Description
MemoryLLMRequest MemoryLLMRequest

Normalized request object.

execute(*, messages, response_format=None, tools=None, tool_choice='auto', **kwargs) async

Execute one memory request through the component's internal contract.

Parameters:

Name Type Description Default
messages list[dict[str, Any]]

Normalized memory messages.

required
response_format dict[str, Any] | None

Optional structured-output hint. Defaults to None.

None
tools list[dict[str, Any]] | None

Optional tool payload. Defaults to None.

None
tool_choice str

Optional tool-choice hint. Defaults to "auto".

'auto'
**kwargs Any

Extra provider runtime arguments.

{}

Returns:

Name Type Description
MemoryLLMResponse MemoryLLMResponse

Provider-neutral memory response.

invoke_memory_lm(*, request, system_instruction, messages_text) async

Invoke the configured LM runtime for one normalized memory request.

This method depends on the inherited LMComponent._invoke_lm runtime contract. Before invoking it, the component validates that the inherited callable still accepts the required keyword arguments used by gllm_memory.

Parameters:

Name Type Description Default
request MemoryLLMRequest

Normalized memory request.

required
system_instruction str

Prepared system instruction text.

required
messages_text str

Prepared current-message text.

required

Returns:

Name Type Description
MemoryLLMResponse MemoryLLMResponse

Wrapped native LM output.

Raises:

Type Description
TypeError

If the inherited _invoke_lm contract is unavailable or no longer accepts the required keyword arguments.

run_memory(request) abstractmethod

Run one normalized memory request.

Parameters:

Name Type Description Default
request MemoryLLMRequest

Normalized memory request.

required

Returns:

Type Description
MemoryLLMResponse | Awaitable[MemoryLLMResponse]

MemoryLLMResponse | Awaitable[MemoryLLMResponse]: Provider-neutral memory response.

MemoryLLMRequest(messages, response_format=None, tools=None, tool_choice='auto', runtime_kwargs=dict()) dataclass

Normalized request passed from a memory provider bridge to one LM component.

Attributes:

Name Type Description
messages list[dict[str, Any]]

Normalized memory messages.

response_format dict[str, Any] | None

Optional structured-output hint. Defaults to None.

tools list[dict[str, Any]] | None

Optional tool payload. Defaults to None.

tool_choice str

Optional tool-choice hint. Defaults to "auto".

runtime_kwargs dict[str, Any]

Extra provider runtime arguments. Defaults to an empty dict.

MemoryLLMResponse(output, metadata=dict()) dataclass

Provider-neutral LM response returned by one memory LM component.

Attributes:

Name Type Description
output Any

Native LM output or already-normalized structured payload.

metadata dict[str, Any]

Optional provider-agnostic metadata. Defaults to an empty dict.

MemoryLMComponent(lm_invoker, fallback_lms=None)

Bases: BaseMemoryLMComponent

Default memory LM component owned by gllm_memory.

This component applies the built-in message-to-prompt mapping used by the memory runtime before delegating execution to the inherited LMComponent invocation flow.

run_memory(request) async

Run one normalized memory request with the default prompt mapping.

Parameters:

Name Type Description Default
request MemoryLLMRequest

Normalized memory request.

required

Returns:

Name Type Description
MemoryLLMResponse MemoryLLMResponse

Wrapped native LM output.