Memory components in Langflow
Memory components store and retrieve chat messages by session_id
.
They are distinct from vector store components, because they are built specifically for storing and retrieving chat messages from external databases.
Memory components provide access to their respective external databases as memory. This allows Large Language Models (LLMs) or agents to access external memory for persistence and context retention.
Use a memory component in a flow​
This example flow stores and retrieves chat history from an Astra DB Chat Memory component with Store Message and Chat Memory components.
The Store Message helper component stores chat memories as Data objects, and the Message History helper component retrieves chat messages as Data objects or strings.
AstraDBChatMemory Component​
This component creates an AstraDBChatMessageHistory
instance, which stores and retrieves chat messages using Astra DB, a cloud-native database service.
Inputs​
Name | Type | Description |
---|---|---|
collection_name | String | Name of the Astra DB collection for storing messages. Required. |
token | SecretString | Authentication token for Astra DB access. Required. |
api_endpoint | SecretString | API endpoint URL for the Astra DB service. Required. |
namespace | String | Optional namespace within Astra DB for the collection. |
session_id | MessageText | Chat session ID. Uses current session ID if not provided. |
Outputs​
Name | Type | Description |
---|---|---|
message_history | BaseChatMessageHistory | An instance of AstraDBChatMessageHistory for the session. |
CassandraChatMemory Component​
This component creates a CassandraChatMessageHistory
instance, enabling storage and retrieval of chat messages using Apache Cassandra or DataStax Astra DB.
Inputs​
Name | Type | Description |
---|---|---|
database_ref | MessageText | Contact points for Cassandra or Astra DB database ID. Required. |
username | MessageText | Username for Cassandra (leave empty for Astra DB). |
token | SecretString | Password for Cassandra or token for Astra DB. Required. |
keyspace | MessageText | Keyspace in Cassandra or namespace in Astra DB. Required. |
table_name | MessageText | Name of the table or collection for storing messages. Required. |
session_id | MessageText | Unique identifier for the chat session. Optional. |
cluster_kwargs | Dictionary | Additional keyword arguments for Cassandra cluster configuration. Optional. |
Outputs​
Name | Type | Description |
---|---|---|
message_history | BaseChatMessageHistory | An instance of CassandraChatMessageHistory for the session. |
ZepChatMemory Component​
This component creates a ZepChatMessageHistory
instance, enabling storage and retrieval of chat messages using Zep, a memory server for Large Language Models (LLMs).
Inputs​
Name | Type | Description |
---|---|---|
url | MessageText | URL of the Zep instance. Required. |
api_key | SecretString | API Key for authentication with the Zep instance. |
api_base_path | Dropdown | API version to use. Options: "api/v1" or "api/v2". |
session_id | MessageText | Unique identifier for the chat session. Optional. |
Outputs​
Name | Type | Description |
---|---|---|
message_history | BaseChatMessageHistory | An instance of ZepChatMessageHistory for the session. |