Skip to content

docs(google-adk): bring ADK docs to parity with adk-redis 0.0.9 - #3746

Open
nkanu17 wants to merge 10 commits into
redis:mainfrom
nkanu17:feat/adk-redis-0.0.9-parity
Open

docs(google-adk): bring ADK docs to parity with adk-redis 0.0.9#3746
nkanu17 wants to merge 10 commits into
redis:mainfrom
nkanu17:feat/adk-redis-0.0.9-parity

Conversation

@nkanu17

@nkanu17 nkanu17 commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

The redis.io Google ADK pages were written against adk-redis 0.0.5. Since then 0.0.7 added selectable memory backends, 0.0.8 renamed the session service, and 0.0.9 raised the managed SDK floor and added cache entry IDs. This brings all five pages to 0.0.9, which is the version currently on PyPI.

Following review, the pages now also centre on Redis Agent Memory and quarantine the deprecated opensource-agent-memory backend on its own page.

Correction to an earlier version of this PR

An earlier revision of this description, and my comment of Aug 3, claimed that auto-summarization and extraction strategies were Agent Memory Server only. That was wrong, and the claim has been removed from the pages.

Redis Agent Memory supports both, on Redis Cloud and self-managed:

The mistake was reading an adk-redis config surface as a product capability. model_name and context_window_max are Agent Memory Server passthroughs in adk-redis, but the managed service does this work configured at the service level instead. Of the four capabilities I originally listed, only recency-weighted search (adk-redis's semantic_weight / recency_weight) and the MCP endpoint are genuinely Agent Memory Server only.

Thanks @mich-elle-luna, whose suggested wording on _index.md caught this.

Functional breakage fixed

Two of these were not just stale wording; readers copying the samples would hit failures.

  • The quick start could not reach a local memory server. 0.0.7 made redis-agent-memory the default backend, but every sample passed a localhost Agent Memory Server URL with no backend override, so the services silently targeted the Data Plane. All samples now set backend explicitly.
  • create_memory_mcp_toolset no longer exists in adk-redis. The MCP samples imported it, so they raised ImportError. The MCP path now uses ADK's native McpToolset + SseConnectionParams, matching the fitness_coach_mcp example, and lives on the deprecated page since no managed equivalent exists.
  • RedisWorkingMemorySessionService was renamed to RedisSessionMemoryService in 0.0.8. The old name is a deprecated alias that emits a DeprecationWarning and is removed in 0.1.0. All samples use the new name, with a note covering the alias and the moved module path.

Config tables corrected

The documented defaults did not match the code:

Parameter Was documented Actual
recency_boost False True
extraction_strategy None discrete (plus a fourth value, custom)
semantic_weight / recency_weight 0.7 / 0.3 0.8 / 0.2
api_base_url, default_namespace Required Both have defaults

Also added the missing backend, api_key, store_id, timeout, threshold, weight, and half-life fields.

Structure

Per @mich-elle-luna's review, the deprecated backend no longer runs through the main pages:

  • agent-memory-server.md is new, carries a deprecation banner, and holds the Docker setup, the backend-only config, the MCP path, migration steps, and the examples still on that backend.
  • The four supported pages cover Redis Agent Memory only, each with a single pointer to the deprecated page.
  • Redis Agent Memory is documented as one backend with two deployments, Redis Cloud and self-managed, selected by api_base_url rather than by backend, linking @n-valchev's self-managed pages and the Redis Cloud create-service guide.

Other changes

  • Documented all six memory tools. GetMemoryTool and MemoryPromptTool were missing.
  • Documented invocation-user resolution from tool_context and the client-supplied id on CreateMemoryTool (0.0.9).
  • Semantic caching: cache entry IDs, CacheEntry, delete_by_id() targeted invalidation (0.0.9), and the required server_url on LangCacheProviderConfig.
  • Examples: nine to ten, added managed_memory_quickstart, and noted the runner per example (python main.py vs adk web .). redis_search_tools wires three tools, not four.
  • Noted the redis-agent-memory>=0.2.0 floor.

Verification

Every class name, config field, default value, and example was checked against adk-redis main at 0.0.9 rather than against the changelog. Product capability claims are checked against the Agent Memory docs in this repo, which is what the correction above came from.

Links use relref rather than absolute URLs, so if @raphaeldelio moves the self-managed content to /operate the build fails loudly instead of leaving dead links. All 44 relref targets across these pages resolve to existing content files.

I could not get a clean local Hugo build: the same ByWeight template error reproduces on an unmodified main with Hugo 0.160.1, so it is a local version mismatch rather than anything in this change. Worth a look at the CI build.

Still open, outside this PR

  • Examples on the deprecated backend. Four of five memory examples default to opensource-agent-memory. They live in adk-redis, so redis.io can only label them. fitness_coach_mcp cannot move at all, since MCP has no managed equivalent.
  • Migration guide or tool, as @mich-elle-luna suggested. The page has migration steps for the adk-redis config change, but a real Agent Memory Server to Data Plane data-migration path needs product input rather than anything I can infer.
  • Car dealership tutorial, linked from these pages, still uses RedisWorkingMemorySessionService with no backend field. It lives outside this repo.

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only changes to integration guides; no application code or runtime behavior in this repo.

Overview
Brings the Google ADK integration docs in line with adk-redis 0.0.9 (selectable backends, session service rename, cache entry IDs, redis-agent-memory>=0.2.0). Redis Agent Memory (backend="redis-agent-memory") is now the default path for new work on Redis Cloud or self-managed deployments, chosen via api_base_url, api_key, and store_id instead of local Agent Memory Server Docker setup.

Adds agent-memory-server.md for the deprecated opensource-agent-memory backend with migration steps, backend-only config, and MCP notes; supported pages no longer treat MCP as a first-class pattern. Samples and tables use RedisSessionMemoryService, explicit backend, and updated config defaults/fields; documents six REST memory tools, invocation-scoped users, and semantic cache CacheEntry / delete_by_id() plus LangCache server_url. Examples page promotes managed_memory_quickstart and separates three legacy examples.

Reviewed by Cursor Bugbot for commit 6545386. Bugbot is set up for automated code reviews on this repo. Configure here.

The redis.io ADK pages were written against adk-redis 0.0.5. Since then
0.0.7 added selectable memory backends, 0.0.8 renamed the session
service, and 0.0.9 changed the managed SDK floor and added cache entry
IDs. This brings all five pages to 0.0.9.

Functional breakage fixed:

- The default memory backend is now `redis-agent-memory` (managed), but
  every sample passed a localhost Agent Memory Server URL with no
  `backend` override. As written, the quick start silently targeted the
  managed backend and could not reach the reader's container. All
  service and tool samples now set `backend` explicitly and the
  self-hosted path says so.
- `create_memory_mcp_toolset` no longer exists in adk-redis. The MCP
  samples in `redis-agent-memory.md` and `integration-patterns.md` were
  importing a function that was removed, so they raised ImportError.
  Both now use ADK's native `McpToolset` + `SseConnectionParams`,
  matching the fitness_coach_mcp example.
- `RedisWorkingMemorySessionService` was renamed to
  `RedisSessionMemoryService` in 0.0.8. The old name is a deprecated
  alias that warns and goes away in 0.1.0. All samples use the new
  name; a note documents the alias and the moved module path.

Config tables were wrong in ways a reader would trip over:

- `recency_boost` default was `False`, is `True`.
- `extraction_strategy` default was `None`, is `discrete`. Added the
  fourth value, `custom`.
- `semantic_weight` / `recency_weight` were 0.7 / 0.3, are 0.8 / 0.2.
- `api_base_url` and `default_namespace` were marked Required; both
  have defaults.
- Added the missing `backend`, `api_key`, `store_id`, timeout,
  threshold, weight, and half-life fields.

Also:

- New "Choose a memory backend" section with a feature matrix. Recency
  boost, auto-summarization, extraction strategies, and MCP are
  self-hosted only. This is the question customers keep asking.
- Memory tools: documented all six. `GetMemoryTool` and
  `MemoryPromptTool` were missing.
- Documented invocation-user resolution from `tool_context` and the
  client-supplied `id` on `CreateMemoryTool` (0.0.9).
- Semantic caching: added cache entry IDs, `CacheEntry`, and
  `delete_by_id()` targeted invalidation (0.0.9). Added the required
  `server_url` on `LangCacheProviderConfig`.
- Examples: nine to ten, added `managed_memory_quickstart`, labeled each
  memory example with its backend, and noted the runner per example
  (`python main.py` vs `adk web .`). `redis_search_tools` wires three
  tools, not four.
- Noted the `redis-agent-memory>=0.2.0` floor.
@CLAassistant

CLAassistant commented Aug 3, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

…ated

Link the managed service to https://redis.io/agent-memory/ where the two
memory backends are introduced, and label the self-hosted
`opensource-agent-memory` backend as deprecated.

The feature matrix needed a note alongside this. It shows self-hosted as
the only backend with recency-boosted search, auto-summarization,
extraction strategies, and an MCP endpoint, which without qualification
now reads as a recommendation to adopt a deprecated backend. It is
framed as current state and a migration-timing consideration instead.

Applied wherever the backend choice is presented to the reader: the
architecture bullets and prerequisites in `_index.md`, and the backend
table and feature matrix in `redis-agent-memory.md`. The per-example
backend labels in `examples.md` and `integration-patterns.md` are left
as-is; they state which backend an example targets rather than steering
the reader toward one.
@mich-elle-luna

Copy link
Copy Markdown
Collaborator

Hi @nkanu17 thank you for this update, last week @n-valchev documented the self-hosted installation of agent memory here, https://redis.io/docs/latest/develop/ai/context-engine/agent-memory/self-managed/

Please update this PR to refer to those new pages instead of the deprecated agent server pages and repo (or in addition to that). Also just fyi, @raphaeldelio is thinking of moving all that self-managed content Nikolay published last week to the /operate section, so you all should coordinate potentially if he does to ensure that link targets are updated. Thank you!

@mich-elle-luna mich-elle-luna left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, just need to add references to https://redis.io/docs/latest/develop/ai/context-engine/agent-memory/self-managed/ and related content.

… backends

Addresses @mich-elle-luna review feedback to reference the new
self-managed Agent Memory pages rather than only the deprecated Agent
Memory Server repo.

Acting on that surfaced a structural problem rather than a missing link.
These pages presented a binary: managed means `redis-agent-memory`,
self-hosted means `opensource-agent-memory`. That is wrong, and it would
send readers to the deprecated backend for the wrong reason.

Self-managed Agent Memory serves the same shared Data Plane API as Redis
Cloud (`/v1/stores/{storeId}/...`, verified in the self-managed API
examples), and `_AgentMemory()` takes the base URL as a positional
argument, so it is not Redis Cloud specific. So there are three
deployment paths across two backend values:

- `redis-agent-memory` + Redis Cloud Data Plane
- `redis-agent-memory` + your own self-managed Data Plane
- `opensource-agent-memory` + Agent Memory Server (deprecated)

You pick a deployment with `api_base_url`, not with `backend`. Readers
who want to run Agent Memory themselves should use self-managed with
`backend="redis-agent-memory"`, not the deprecated backend.

Changes:

- New deployment table mapping each path to its `backend`, its
  `api_base_url`, and its setup guide.
- A note warning against reaching for `opensource-agent-memory` merely
  because a deployment is self-hosted, since the two are different
  systems rather than two deployments of one system.
- Feature matrix columns are now the two backends rather than "Managed"
  vs "Self-hosted", because the differences follow the backend. Self-
  managed has the same feature set as Redis Cloud.
- Retire "self-hosted" as a synonym for `opensource-agent-memory` across
  all five pages. It now names Agent Memory Server explicitly, since
  self-managed Agent Memory is also self-hosted.

Links use relref rather than absolute URLs, so if @raphaeldelio moves the
self-managed content to /operate the build fails loudly instead of
leaving dead links. Verified all 20 relref targets on these pages resolve
to existing content files.
@nkanu17

nkanu17 commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

Thanks @mich-elle-luna, updated in 51c7df9.

Acting on this surfaced something bigger than a missing link, so flagging it explicitly for you and @n-valchev.

These pages presented a binary: managed means redis-agent-memory, self-hosted means opensource-agent-memory. That framing is wrong, and combined with the deprecation label it would have actively steered anyone wanting to run Agent Memory themselves toward the deprecated backend.

Self-managed Agent Memory serves the same shared Data Plane API as Redis Cloud (/v1/stores/{storeId}/..., per the self-managed API examples), and adk-redis builds its client as _AgentMemory(api_base_url, api_key=..., store_id=...) with the base URL as a positional argument, so it is not Redis Cloud specific. That means three deployment paths across two backend values:

Deployment backend api_base_url
Redis Cloud redis-agent-memory Redis Cloud Agent Memory endpoint
Self-managed redis-agent-memory Your own Data Plane URL
Agent Memory Server (deprecated) opensource-agent-memory Your server URL

You pick a deployment with api_base_url, not with backend. So the pages now:

  • Add a deployment table mapping each path to its backend, api_base_url, and setup guide, linking Nikolay's self-managed pages and the Redis Cloud create-service page.
  • Add a note warning against reaching for opensource-agent-memory just because a deployment is self-hosted. The two are different systems, not two deployments of one system.
  • Change the feature matrix columns from "Managed vs Self-hosted" to the two backends, since the differences follow the backend. Self-managed has the same feature set as Redis Cloud.
  • Retire "self-hosted" as a synonym for opensource-agent-memory across all five pages, because self-managed Agent Memory is also self-hosted.

On the /operate coordination with @raphaeldelio: I used relref rather than absolute URLs throughout, so if the self-managed content moves, the Hugo build fails loudly instead of leaving dead links. Verified all 20 relref targets on these pages resolve.

One thing worth a second opinion: the feature matrix still shows recency-boosted search, auto-summarization, extraction strategies, and MCP as Agent Memory Server only. I framed that as current state plus a migration-timing consideration, but if there is a roadmap or support timeline for those on the Data Plane API, that wording should say so rather than implying the gap is permanent.

@mich-elle-luna mich-elle-luna left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Nitin, thank you for these updates. Unfortunately, I think this is really confusing with the old deprecated content still weaved into the new info. So, my feedback is to separate or keep all the old info in a section or file that is marked deprecated with a banner, and provide only the info for the supported services that will be maintained going forward in these main files (removing or moving content that really no longer applies. But, I can be persuaded otherwise , if you have perspectives from others that this content must live side-by-side. Thanks!

Comment thread content/integrate/google-adk/_index.md Outdated
Comment thread content/integrate/google-adk/_index.md Outdated
Comment thread content/integrate/google-adk/_index.md Outdated
Comment thread content/integrate/google-adk/_index.md
Comment thread content/integrate/google-adk/_index.md Outdated
4. The LLM generates a response using session context plus retrieved memories.
5. `after_agent_callback` triggers `add_session_to_memory()` for background extraction.
6. If the conversation grows long, working memory auto-summarizes older turns.
6. On the Agent Memory Server backend, if the conversation grows long, session memory auto-summarizes older turns.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move or remove


Requires prompt engineering to teach the LLM memory management strategy, but gives the agent genuine autonomy over its own memory.

### Invocation-scoped users

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move or remove

## MCP tools

Point ADK's `McpToolset` at the Agent Memory Server's SSE endpoint. Tool discovery happens automatically — no manual tool wiring required.
Point ADK's native `McpToolset` at the Agent Memory Server's SSE endpoint. Tool discovery happens automatically, so no manual tool wiring is required.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move or remove

Available MCP tools: `search_long_term_memory`, `create_long_term_memories`, `get_long_term_memory`, `edit_long_term_memory`, `delete_long_term_memories`, `memory_prompt`, and `set_working_memory`.

The most portable approachswap memory backends without changing agent code. Requires the Agent Memory Server running with MCP support on a separate port.
This is the most portable approach: swap memory backends without changing agent code. It requires the Agent Memory Server running with MCP support on a separate port.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move or remove

- [Integration patterns]({{< relref "/integrate/google-adk/integration-patterns" >}}): Detailed tradeoff comparison of all three approaches
- [simple_redis_memory](https://github.com/redis-developer/adk-redis/tree/main/examples/simple_redis_memory): Minimal framework services setup
- [managed_memory_quickstart](https://github.com/redis-developer/adk-redis/tree/main/examples/managed_memory_quickstart): Redis Agent Memory, no Docker
- [simple_redis_memory](https://github.com/redis-developer/adk-redis/tree/main/examples/simple_redis_memory): Agent Memory Server with framework services

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move or remove

nkanu17 and others added 4 commits August 6, 2026 10:29
Co-authored-by: mich-elle-luna <153109578+mich-elle-luna@users.noreply.github.com>
Co-authored-by: mich-elle-luna <153109578+mich-elle-luna@users.noreply.github.com>
Co-authored-by: mich-elle-luna <153109578+mich-elle-luna@users.noreply.github.com>
Co-authored-by: mich-elle-luna <153109578+mich-elle-luna@users.noreply.github.com>
@nkanu17

nkanu17 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Hi Nitin, thank you for these updates. Unfortunately, I think this is really confusing with the old deprecated content still weaved into the new info. So, my feedback is to separate or keep all the old info in a section or file that is marked deprecated with a banner, and provide only the info for the supported services that will be maintained going forward in these main files (removing or moving content that really no longer applies. But, I can be persuaded otherwise , if you have perspectives from others that this content must live side-by-side. Thanks!

Sounds good, thanks for the review!
Will make some changes and tag you again

nkanu17 added 2 commits August 6, 2026 10:45
Per review, the deprecated backend was woven through every page, which made
the onboarding path confusing and put unsupported capabilities next to
supported ones as if they were peers.

All Agent Memory Server content now lives on one page marked with a
deprecation warning: setup, the backend-only settings, auto-summarization,
extraction strategies, recency boosting, MCP tools, and the three examples
written against it. That page also adds a migration path to Redis Agent
Memory, which the review asked for.

The main pages now cover only supported deployments, Redis Cloud and
self-managed, both on backend=redis-agent-memory, and link to the deprecated
page for anyone with an existing server:

- _index.md: architecture bullet and prerequisites reduced to Redis Agent
  Memory, Docker setup and backend-switching text removed, deprecation note
  and a capabilities row pointing at the new page
- redis-agent-memory.md: the two-backend comparison is gone. Comparing them
  feature by feature implied a live choice; the distinction that matters is
  supported versus deprecated. Config tables drop the backend-only rows
- integration-patterns.md: two approaches instead of three, since MCP exists
  only on the deprecated backend
- examples.md: lists the seven examples on supported backends and points to
  the rest

Also applied the reviewer's wording suggestions. One deviation: the
suggestion for the installation line dropped the word extra from "the memory
extra", which reads as an accidental deletion since it refers to a pip
extra, so that word is kept while the deprecated client requirement moves to
the deprecated page.

Verified every relref target and anchor resolves.
…cated

Sharpens the deprecation signal, which was the reviewer's main concern, and
cuts the page back so RedisVL docs stop teaching people how to stand up a
deprecated server.

- The banner now leads with "Deprecated. Do not use for new work." and states
  that the backend is unmaintained, that its capabilities are not carried
  forward, and that adk-redis support will be removed. The page says outright
  that it exists only to help existing deployments migrate
- Front matter description and summary both lead with the deprecation, so the
  status shows in listings and search results rather than only on the page
- Removed the Docker setup instructions and the full feature and configuration
  reference. Those belong to the deprecated server's own repository, which the
  page links to. What remains is the part specific to adk-redis: which backend
  value it used, which settings are inert on redis-agent-memory, and a
  before-and-after migration example
- Repointed the anchors in the other pages, since the removed sections took
  their headings with them

Net effect: the deprecated backend is documented in one clearly-labelled place,
in about half the space, oriented entirely toward getting off it.
@nkanu17

nkanu17 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Correction to my Aug 3 comment, flagging it rather than quietly editing since @n-valchev was tagged on it.

I claimed auto-summarization and extraction strategies were Agent Memory Server only. That was wrong. Redis Agent Memory supports both, on Redis Cloud and self-managed:

I had read an adk-redis config surface as a product capability. model_name and context_window_max are Agent Memory Server passthroughs in adk-redis, while the managed service does that work configured at the service level. Of the four capabilities I listed, only recency-weighted search (adk-redis's semantic_weight / recency_weight) and the MCP endpoint are genuinely Agent Memory Server only.

@mich-elle-luna your suggested wording on _index.md is what caught this, and it's what the page now uses. The feature matrix that carried the bad claim is gone, replaced by the support-level split you asked for, so the error is not in the current diff. The PR description is updated too.

That also removes my "second opinion" question from the earlier comment. I was asking about a roadmap to close a gap that mostly did not exist.

On the restructure: agent-memory-server.md now holds the Docker setup, backend-only config, the MCP path, migration steps, and the examples still on that backend, behind a deprecation banner. The four supported pages point to it once each. Ready for another look when you have time.

Two of your asks are genuinely outside this repo, so flagging rather than silently dropping them:

  • Examples. Four of five memory examples default to opensource-agent-memory and live in adk-redis. redis.io can only label them; moving them to the default backend is a change there. fitness_coach_mcp cannot move at all, since MCP has no managed equivalent.
  • Migration guide/tool. The new page covers the adk-redis config change, but a real Agent Memory Server to Data Plane data-migration path needs product input. Happy to write it if someone can tell me what the supported path is.

@mich-elle-luna mich-elle-luna left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you! just one small change for clarity

Comment thread content/integrate/google-adk/integration-patterns.md Outdated
Co-authored-by: mich-elle-luna <153109578+mich-elle-luna@users.noreply.github.com>
@nkanu17

nkanu17 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

thank you! just one small change for clarity
@mich-elle-luna
Thanks, I signed the cla agreement as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants