diff --git a/content/operate/rc/context-engine/agent-memory/create-service.md b/content/operate/rc/context-engine/agent-memory/create-service.md index bf13cd9648..f5b948583e 100644 --- a/content/operate/rc/context-engine/agent-memory/create-service.md +++ b/content/operate/rc/context-engine/agent-memory/create-service.md @@ -59,6 +59,7 @@ If you lose the service key value, you will need to [generate a new service key] 1. The [General settings](#general-settings) section defines basic properties of your service. 1. The [Memory configuration](#memory-configuration) section allows you to define the time-to-live (TTL) of your agent's memories, set how often memories are extracted, and control automatic summarization of session memory. + 1. The [Memory types & extraction](#memory-types-and-extraction) section allows you to define custom memory types with their own extraction strategies. ### General settings @@ -76,7 +77,7 @@ The **General settings** section defines basic properties of your service. The **Memory configuration** section allows you to define the time-to-live (TTL) of your agent's memories, set how often memories are extracted, and control automatic summarization of session memory. -{{The General settings section.}} +{{The Memory configuration section.}} | Setting name |Description| |:----------------------|:----------| @@ -97,6 +98,45 @@ Use the **Automatic summarization** toggle to enable or disable this behavior. W For example, with **Summarize after** set to 20 and **Keep most recent** set to 10, once a session reaches 20 messages, the oldest 10 messages are summarized automatically and the 10 most recent are kept in full. +### Memory types & extraction {#memory-types-and-extraction} + +The **Memory types & extraction** section allows you to define custom long-term memory types with structured fields and an optional extraction strategy. Each enabled type runs independently. + +{{The Memory types & extraction section.}} + +#### Custom memory types + +In addition to the built-in memory types, you can define **custom memory types** to capture structured, domain-specific information from your agent's conversations. Each custom type describes a category of information you want to extract, the fields that make up that information, and an optional extraction strategy that tells the extraction pipeline how to populate it. + +You can define up to **3 custom memory types**. Once you reach this limit, the **Add type** button is disabled. + +To add a custom memory type, select **Add type** and configure the following settings: + +| Setting name |Description| +|:----------------------|:----------| +| **Name** | A unique name for the custom memory type. Must start with a letter and contain only letters, numbers, hyphens, or underscores (1–64 characters). The name must be unique within the service and cannot match a built-in memory type (`semantic`, `episodic`, `message`, or `session_summary_view`). | +| **Description** | A short description of what the memory type represents (1–200 characters). | +| **Fields** | The structured fields that make up the memory type. See [Fields](#fields) below. | + +##### Fields + +Each custom memory type can have one or more fields that define its structured attributes. For each field, configure the following: + +| Setting name |Description| +|:----------------------|:----------| +| **Name** | The field name. Follows the same rules as the memory type name: must start with a letter and contain only letters, numbers, hyphens, or underscores. | +| **Type** | The field's data type. Choose from `str`, `int`, `float`, `bool`, `list[str]`, `list[float]`, or `object`. | +| **Description** | A description of the field (1–200 characters). This description is used to guide extraction, so make it clear and specific. | + +##### Extraction strategy + +Each custom memory type can have an **extraction strategy** that controls how the extraction pipeline populates it from session messages. + +| Setting name |Description| +|:----------------------|:----------| +| **Extraction prompt** | A natural-language prompt (up to 10,000 characters) that instructs the extraction pipeline how to identify and extract this memory type from a conversation. | +| **Enabled** | Whether the extraction strategy is active. Enabled by default. Disable it to keep the type defined without extracting new memories for it. | + ### Create service When you are done setting the details of your Agent Memory service, select **Create** to create it. diff --git a/content/operate/rc/context-engine/agent-memory/view-service.md b/content/operate/rc/context-engine/agent-memory/view-service.md index cda4de0343..7e8990ea5f 100644 --- a/content/operate/rc/context-engine/agent-memory/view-service.md +++ b/content/operate/rc/context-engine/agent-memory/view-service.md @@ -25,13 +25,14 @@ The **Configuration** tab lets you view the details of your Agent Memory service - The **General settings** section provides the connection details and general settings for your Agent Memory service. - The **Memory configuration** section provides the service settings for your Agent Memory service. +- The **Memory types & extraction** section shows any custom memory types defined for your service. - The **Actions** section lets you flush or delete your Agent Memory service. Some of these settings can be changed after service creation. To do so, select the **Edit** button. ### General settings -The **General settings** section provides section provides the connection details and general settings for your Agent Memory service. +The **General settings** section provides the connection details and general settings for your Agent Memory service. {{The General settings for the Agent Memory service.}} @@ -50,7 +51,7 @@ Follow the [Redis Cloud Agent Memory REST quickstart]({{< relref "/operate/rc/co The **Memory configuration** section shows the time-to-live (TTL) for memory storage, the extraction cadence, and the automatic summarization settings for session memory. -{{The general settings for the Agent Memory service.}} +{{The Memory configuration section for the Agent Memory service.}} | Setting name |Description| |:----------------------|:----------| @@ -61,6 +62,25 @@ The **Memory configuration** section shows the time-to-live (TTL) for memory sto | **Summarize after (messages)** | The number of messages a session can hold before older messages are summarized. Shown only when automatic summarization is enabled. _(Editable)_ | | **Keep most recent (messages)** | The number of most recent messages that are always kept in full and never summarized. Shown only when automatic summarization is enabled. _(Editable)_ | +### Memory types & extraction {#memory-types-and-extraction} + +The **Memory types & extraction** section shows any [custom memory types]({{< relref "/operate/rc/context-engine/agent-memory/create-service#custom-memory-types" >}}) defined for the service, each listed with its name, fields, and extraction strategy. + +{{The Memory types & extraction section for the Agent Memory service.}} + +#### Custom memory types + +Because a custom memory type's structure is fixed after creation, only some settings can be changed when you edit the service: + +| Setting name |Description| +|:----------------------|:----------| +| **Name** | The name of the custom memory type. _(Read-only)_ | +| **Fields** | The fields that make up the custom memory type, with their names, types, and descriptions. _(Read-only)_ | +| **Extraction prompt** | The extraction strategy prompt for the custom memory type. _(Editable)_ | +| **Enabled** | Whether the extraction strategy is active. _(Editable)_ | + +To change a custom memory type's name or fields, you must create a new service. You can, however, add a new custom memory type when editing the service, up to the limit of 3 custom memory types. + ### Actions The **Actions** section lets you flush or delete your Agent Memory service. diff --git a/static/images/rc/agent-memory-memory-types.png b/static/images/rc/agent-memory-memory-types.png new file mode 100644 index 0000000000..ec64f2b3c6 Binary files /dev/null and b/static/images/rc/agent-memory-memory-types.png differ diff --git a/static/images/rc/agent-memory-view-memory-types.png b/static/images/rc/agent-memory-view-memory-types.png new file mode 100644 index 0000000000..96272c0425 Binary files /dev/null and b/static/images/rc/agent-memory-view-memory-types.png differ