Memory
Defined in: packages/core/src/memory/memory.ts:36
Type Parameters
TAdapters
TAdapters
extends Record
<string
, MessageAdapter
<unknown
, TMessageOptions
>> = Record
<string
, never
>
TMessageOptions
TMessageOptions
extends object
= object
Constructors
Constructor
new Memory<
TAdapters
,TMessageOptions
>(messages
,options
):Memory
<TAdapters
,TMessageOptions
>
Defined in: packages/core/src/memory/memory.ts:69
Parameters
messages
MemoryMessage
<TMessageOptions
>[] = []
options
MemoryOptions
<TMessageOptions
> = {}
Returns
Memory
<TAdapters
, TMessageOptions
>
Methods
add()
add(
message
):Promise
<void
>
Defined in: packages/core/src/memory/memory.ts:91
Add a message to the memory
Parameters
message
unknown
The message to add to the memory
Returns
Promise
<void
>
get()
get<
K
>(options
):Promise
<K
extends keyofTAdapters
| keyof BuiltinAdapters<TMessageOptions> ?ReturnType
<TAdapters
&BuiltinAdapters
<TMessageOptions
>[K
<K
>]["fromMemory"
]>[] :never
>
Defined in: packages/core/src/memory/memory.ts:119
Get the messages of specific type from the memory
Type Parameters
K
K
extends string
| number
| symbol
= "llamaindex"
Parameters
options
The options for the get method
type?
K
transientMessages?
ChatMessage
<TMessageOptions
>[]
Returns
Promise
<K
extends keyof TAdapters
| keyof BuiltinAdapters<TMessageOptions> ? ReturnType
<TAdapters
& BuiltinAdapters
<TMessageOptions
>[K
<K
>]["fromMemory"
]>[] : never
>
The messages of specific type
getLLM()
getLLM(
llm?
,transientMessages?
):Promise
<ChatMessage
[]>
Defined in: packages/core/src/memory/memory.ts:167
Get the messages from the memory, optionally including transient messages. only return messages that are within context window of the LLM
Parameters
llm?
LLM
<object
, object
>
To fit the result messages to the context window of the LLM. If not provided, the default token limit will be used.
transientMessages?
ChatMessage
<TMessageOptions
>[]
Optional transient messages to include.
Returns
Promise
<ChatMessage
[]>
The messages from the memory, optionally including transient messages.
manageMemoryBlocks()
manageMemoryBlocks():
Promise
<void
>
Defined in: packages/core/src/memory/memory.ts:294
Manage the memory blocks This method processes new messages into memory blocks when short-term memory exceeds its token limit. It uses a cursor system to track which messages have already been processed into long-term memory.
Returns
Promise
<void
>
clear()
clear():
Promise
<void
>
Defined in: packages/core/src/memory/memory.ts:365
Clear all the messages in the memory
Returns
Promise
<void
>
snapshot()
snapshot():
string
Defined in: packages/core/src/memory/memory.ts:376
Creates a snapshot of the current memory state Note: Memory blocks are not included in snapshots as they may contain non-serializable content. Memory blocks should be recreated when loading from snapshot.
Returns
string
A JSON-serializable object containing the memory state