Repository navigation
Conversation
🧠 Redis MemoryFound 19 related items from repository history:
Memory updated at 0185cb1 |
mich-elle-luna
left a comment
There was a problem hiding this comment.
thank you! I feel like these new pages are more confusing to follow with the instructions in a heading and then more steps in a long sentence with no examples in some cases, so I've flagged those.
| weight: 4 | ||
| --- | ||
|
|
||
| Redis Agent Memory keeps conversation context in session memory and information for future conversations in long-term memory. Optional namespaces organize both. |
There was a problem hiding this comment.
I have a draft of this concepts.md page in my PR #4003 that you can feel free to take whatever you like from it, it puts this in context of what you already know about Redis session memory and how this concept is different.
| Use session memory and long-term memory in your agent's request cycle. Complete the [quickstart]({{< relref "/develop/ai/context-engine/agent-memory/quickstart" >}}) first to verify the connection and make your first requests. For the memory model, see [Concepts]({{< relref "/develop/ai/context-engine/agent-memory/concepts" >}}). | ||
|
|
||
| ## Integration workflow | ||
| ## Configure the application |
There was a problem hiding this comment.
This is very terse, three steps with no details about how to do it, where you are in the process.
|
|
||
| ## Choose a client | ||
| | Identifier | Application choice | | ||
| |:-----------|:-------------------| |
There was a problem hiding this comment.
how do I choose these?
| | Python SDK | Your application or agent uses Python. | Install [`redis-agent-memory`](https://pypi.org/project/redis-agent-memory/) and follow the [Python SDK quickstart](/content/develop/ai/context-engine/agent-memory/python-sdk-quickstart.md). | | ||
| | TypeScript SDK | Your application or agent uses JavaScript or TypeScript. | Install [`@redis-iris/agent-memory`](https://www.npmjs.com/package/@redis-iris/agent-memory) and follow the [TypeScript SDK quickstart](/content/develop/ai/context-engine/agent-memory/typescript-sdk-quickstart.md). | | ||
| | REST API | You need language-independent HTTP access or don't want an SDK dependency. | No package required. Follow the [REST API quickstart](/content/develop/ai/context-engine/agent-memory/rest-api-quickstart.md). | | ||
| Resolve the user and their allowed sessions in your application before making memory requests. Build recall filters from that identity. Search filters do not replace application access checks. |
There was a problem hiding this comment.
This seems very terse, you say to do a thing, but don't explain first the reason or second how to do it.
| 1. Store the new user and assistant messages as session events, with their roles and actor IDs. | ||
|
|
||
| The Python and TypeScript SDKs accept the endpoint, Store ID, and API key when you create the client. When you use the REST API, send the API key as a bearer token and include the Store ID in request paths. | ||
| Include the current user message once. If your application stores it before retrieval, avoid adding a second copy to the model context. Store the assistant message after it has been generated. |
There was a problem hiding this comment.
can we give an example of this?
|
|
||
| For Python, add subsequent snippets inside the `with` block in `main`. For TypeScript, add them inside `run`. After each step, run `python quickstart.py` or `npx tsx quickstart.ts`. With curl, run each command in the same shell. Run writes once; comment out completed writes and their output statements before rerunning an SDK file. |
There was a problem hiding this comment.
seems too terse, no real steps about how to do this
|
|
||
| {{< /multitabs >}} | ||
|
|
||
| Run the example. The session response contains the stored message, its role, actor, and timestamps. An application can retrieve this session before the next agent turn and add the events to the model's context. |
There was a problem hiding this comment.
too terse, doesn't say how
| > [!NOTE] | ||
| > **What to expect:** The `events` array contains the travel message. Redis Agent Memory adds an `eventId` and `systemTimestamp`, showing that the application can recover the complete event later using only the session ID. | ||
|
|
||
| Run the event write once. In the SDK files, comment out event creation and its output statements before subsequent runs. Keep the session retrieval. |
There was a problem hiding this comment.
doesn't say how or why you would do this
| weight: 10 | ||
| --- | ||
|
|
||
| Use a stable `sessionId` to store a conversation as an ordered sequence of events. Add an event for each user, assistant, or system message that your application needs to retain. |
There was a problem hiding this comment.
starting a doc with this type of terse instruction is unusual. you are referring to a field that hasn't even been defined yet. It should start with what this document describes and the reason you would do any of this. How would you even add an event? This is saying to use a field then add events with no context.
|
|
||
| ## Retrieve conversation context | ||
|
|
||
| Before an agent turn, retrieve the session by `sessionId` and provide the relevant events to the agent. Use these events as conversation context for the model. |
There was a problem hiding this comment.
Maybe tell CLaude that we need to put all of the ## headings in the page into context at the beginning of the page so folks understand what this is about
…nto one TCE page
The Python and TypeScript agent-memory quickstarts were near-duplicate prose
with only the code fences differing. Merged them into one page
(sdk-quickstart.md) using the clients-example tabbed system, with two new
pseudo-client keys ("Agent Memory (Python)"/"Agent Memory (TypeScript)")
instead of reusing the real Python/Node.js client keys, so the tabs don't
misattribute to redis-py/node-redis.
Two build-script gaps surfaced adding the TypeScript source file:
build/local_examples.py's EXTENSION_TO_LANGUAGE had no .ts entry at all, and
build/components/example.py's PREFIXES dict had no 'typescript' comment style
either — no .ts file has ever existed under local_examples/ before this.
Both needed fixing together or the .ts source silently fails (first as an
"unknown extension" skip, then as a None-content crash further down the
pipeline once the language is recognized but has no comment prefix).
Modeled the footer-hiding on langcache_sdk's page, but its show_footer="false"
parameter turned out to be dead code — clients-example.html only ever checks
footer="hide" (confirmed back to the commit that introduced it). langcache's
live page is therefore not hiding what it thinks it's hiding. Used the
parameter that actually works here; did not fix langcache's page (out of
scope for this ticket).
The tab's visible title is literally the config.toml client key string (only
"Node.js"/"ioredis" get a hardcoded display-name override), so the new keys
had to be chosen to read well as tab labels directly, not as short internal
IDs.
Each clients-example step had to become a fully self-contained snippet
(imports + client construction repeated per step) rather than the "keep
editing one growing file" narrative the original two pages used, because the
shortcode slices only the exact STEP_START/STEP_END range with nothing
prepended.
Learned: .ts support needs EXTENSION_TO_LANGUAGE and PREFIXES kept in sync; langcache_sdk's show_footer param is dead code
Constraint: a clients-example tab's display name is its config.toml key verbatim (no Node.js/ioredis-style override exists for new keys)
Rejected: show_footer="false" | dead parameter in clients-example.html, only footer="hide" is read
Directive: don't add another .ts-based local example without confirming EXTENSION_TO_LANGUAGE (build/local_examples.py) and PREFIXES (build/components/example.py) both still list it
Gaps: agent_memory_sdk.py/.ts are hand-written, not harness-verified — no confirmed access to a running Agent Memory backend
Ticket: DOC-7121
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…espaces-custom-types
…sion-listing # Conflicts: # content/develop/ai/context-engine/agent-memory/_index.md
…ces-custom-types # Conflicts: # content/develop/ai/context-engine/agent-memory/_index.md # content/develop/ai/context-engine/agent-memory/developer-guide.md # content/develop/ai/context-engine/agent-memory/rest-api-quickstart.md # content/develop/ai/context-engine/agent-memory/sdk-quickstart.md
…ces-custom-types # Conflicts: # content/develop/ai/context-engine/agent-memory/_index.md # content/develop/ai/context-engine/agent-memory/interactive-demo.md # content/develop/ai/context-engine/agent-memory/overview.md
|
Doing another round of multi-agent review on this tonight. |
mich-elle-luna
left a comment
There was a problem hiding this comment.
a few suggestions for the structure and format to start, approving so you aren't blocked if you want to merge into the feature branch, thank you!
| {{< tile-card icon="images/dev/icons/icon-redis-code-64-duotone.png" title="Python quickstart" description="Get started with Redis Agent Memory in Python" url="/develop/ai/context-engine/agent-memory/python-sdk-quickstart" >}} | ||
| {{< tile-card icon="images/dev/icons/icon-redis-code-64-duotone.png" title="TypeScript quickstart" description="Get started with Redis Agent Memory in TypeScript" url="/develop/ai/context-engine/agent-memory/typescript-sdk-quickstart" >}} | ||
| {{< tile-card icon="images/dev/icons/icon-redis-code-64-duotone.png" title="REST quickstart" description="Get started with Redis Agent Memory using curl" url="/develop/ai/context-engine/agent-memory/rest-api-quickstart" >}} | ||
| <div class="grid grid-cols-1 md:grid-cols-3 gap-6 my-8"> |
There was a problem hiding this comment.
This should use the tile-card style above instead of image cards
| title: List and sort sessions | ||
| weight: 10 | ||
| --- | ||
|
|
There was a problem hiding this comment.
This file should become a child of sessions.md to reduce the left-side nav menu items and improve structure
| title: Namespace routing | ||
| weight: 14 | ||
| --- | ||
|
|
There was a problem hiding this comment.
This should be a child page under namespaces.md for structure and to simplify the menu
Combine the Agent Memory documentation in one PR against
iris-ga-docs, including #4025, #4145, and the SDK example support from #4149. Readers get one Python, TypeScript, and curl quickstart, feature guides, and self-managed setup that matches the current public API and SDKs.0.10.2. Include delegated user headers in personal-data examples and use store health for the initial agent-key check.Validation includes 135 new-feature and 90 existing-example schema-checked requests against the published Python
0.5.0b2and TypeScript0.4.0-beta.2SDKs, strict TypeScript and shell checks, and 17 operator requests with and without delegated user headers. Both OpenAPI documents validate. All 29 YAML examples parse, and the deployment values render with the published charts. The focused Hugo build has no warnings; 19 build tests pass. Browser checks cover 25 pages at desktop/mobile widths, tab switching, four old quickstart redirects, 100 local heading links, and preserved command-example footers. Earlier feature validation also covered signed-receiver tests, isolated Redis 8 ownership/delegation and document-worker integrations, and signed HTTPS webhooks. Playbooks fixture/source/generated-example checks passed at consolidation; its content and shared build logic are unchanged since then.This remains a draft for publication review. Features are documented as available in Cloud and enabled on-prem except stated exceptions such as webhooks; Cloud ownership behavior remains undecided. Install commands use the stable channel, so confirm stable package promotion before publication. No programmatic Cloud Control Plane credentials or customer IdP setup are claimed. Full hosted Summary View generation and production extraction quality were not verified; example fixtures check request contracts, and chart rendering does not constitute a deployed cluster test.
The 16 historical inline threads have matching content corrections but remain open for reviewer acceptance. #4025 and #4145 are closed as superseded. Andy's #4149 remains open with its changes included here.
Note
Low Risk
Documentation and Hugo template default changes only; no runtime product code. Link/redirect and example-tab rendering behavior should be spot-checked before publish.
Overview
Consolidates Redis Agent Memory docs for GA by replacing separate Python, TypeScript, and REST quickstarts with a single multitab quickstart (aliases preserve old URLs), restructuring the landing page navigation, and expanding the developer guide into an end-to-end integration walkthrough (IDs, backend authorization, per-turn context, errors, namespaces, and sensitive-data exclusions).
Adds dedicated feature guides for sessions (including sortable listing), long-term memory (search, custom types, direct create, semantic exclusions), namespaces, namespace routing, MemoryETL, ingestion webhooks (signed receiver + status/recovery), and related cross-links; overview and operate pages drop general preview banners and refresh self-managed chart references to 0.10.2.
Site/build support: registers Agent Memory (Python) and Agent Memory (TypeScript) in
config.tomlandlocal_examples.py, wires the unified quickstart to sharedagent_memory_sdkclient examples, simplifies the default Cloud quickstart service setup embed, and makes command-example footers opt-in intabbed-clients-example.html(sofooter="hide"is honored).Reviewed by Cursor Bugbot for commit 0185cb1. Bugbot is set up for automated code reviews on this repo. Configure here.