Skip to content

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

Open
nkanu17 wants to merge 3 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 3 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.

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 (managed) the default backend, but every sample passed a localhost Agent Memory Server URL with no backend override. As written, the services silently targeted the managed backend. All service and tool samples now set backend explicitly, and the self-hosted path is called out.
  • create_memory_mcp_toolset no longer exists in adk-redis. The MCP samples in redis-agent-memory.md and integration-patterns.md imported it, 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 emits a DeprecationWarning and is removed in 0.1.0. All samples use the new name, and a note documents the alias plus 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.

Other changes

  • 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 that prompted the update.
  • 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: added cache entry IDs, CacheEntry, and delete_by_id() targeted invalidation (0.0.9), plus 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.

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.

I could not get a clean local Hugo build to validate the new relref, but 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. The one new relref target (/integrate/google-adk/redis-agent-memory#choose-a-memory-backend) points at an existing page and a heading added in this PR. Worth a look at the CI build.

Known drift outside this PR

The car dealership tutorial is linked three times from these pages and still uses RedisWorkingMemorySessionService with no backend field. It lives outside this repo, so it needs a separate change from its authors.

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only changes to integration markdown; no runtime code, with the main risk being incorrect samples or relrefs rather than production behavior.

Overview
Brings the five Google ADK / adk-redis integration pages up to adk-redis 0.0.9, fixing copy-paste samples that would fail under current defaults and expanding backend and API coverage.

Memory backends and naming: Docs now treat redis-agent-memory (Redis Cloud or self-managed Data Plane) as the default and opensource-agent-memory (deprecated Agent Memory Server) as the legacy path, with explicit backend, api_key, and store_id in samples. Working memory is renamed to session memory; samples use RedisSessionMemoryService / RedisSessionMemoryServiceConfig with a note on the 0.0.8 renames. A new Choose a memory backend section compares features (MCP, auto-summarization, recency boost, etc.) and deployment options.

Integration patterns: MCP examples drop removed create_memory_mcp_toolset in favor of ADK’s native McpToolset + SseConnectionParams, with notes that MCP is Agent Memory Server–only. REST and Runner examples use managed-backend config; comparison tables add a Backends column.

Reference accuracy: Session and long-term memory config tables are expanded and defaults corrected (recency_boost, weights, extraction_strategy, optional api_base_url / namespace). REST docs list six tools (GetMemoryTool, MemoryPromptTool) plus invocation-scoped users and idempotent CreateMemoryTool IDs (0.0.9).

Examples and caching: Examples count goes to ten (managed_memory_quickstart), each labeled by backend and run mode; search example reflects three tools. Semantic caching adds CacheEntry, delete_by_id(), and required LangCache server_url.

Reviewed by Cursor Bugbot for commit 51c7df9. 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

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

…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!

adk-redis connects several backend systems to the ADK framework:

- **[Redis Agent Memory Server](https://github.com/redis/agent-memory-server)** handles working memory (sessions), long-term memory (extracted facts), auto-summarization, and memory search.
- **Memory backends** power the session and long-term memory services. Pick one per service with a `backend` field:

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.

Suggested change
- **Memory backends** power the session and long-term memory services. Pick one per service with a `backend` field:
[Redis Agent Memory]({{< relref "/develop/ai/context-engine/agent-memory" >}}) handles working memory (sessions), long-term memory (extracted facts), auto-summarization, and memory search.


- **[Redis Agent Memory Server](https://github.com/redis/agent-memory-server)** handles working memory (sessions), long-term memory (extracted facts), auto-summarization, and memory search.
- **Memory backends** power the session and long-term memory services. Pick one per service with a `backend` field:
- **[Redis Agent Memory](https://redis.io/agent-memory/)** (`redis-agent-memory`, the default) is the Agent Memory service. Use this for new work. It runs either on [Redis Cloud]({{< relref "/operate/rc/context-engine/agent-memory" >}}) or [self-managed]({{< relref "/develop/ai/context-engine/agent-memory/self-managed" >}}) on your own Kubernetes cluster; both share one Data Plane API, so you pick a deployment by pointing `api_base_url` at the right endpoint.

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.

Suggested change
- **[Redis Agent Memory](https://redis.io/agent-memory/)** (`redis-agent-memory`, the default) is the Agent Memory service. Use this for new work. It runs either on [Redis Cloud]({{< relref "/operate/rc/context-engine/agent-memory" >}}) or [self-managed]({{< relref "/develop/ai/context-engine/agent-memory/self-managed" >}}) on your own Kubernetes cluster; both share one Data Plane API, so you pick a deployment by pointing `api_base_url` at the right endpoint.
Use the default `redis-agent-memory` for new work. It runs either on [Redis Cloud]({{< relref "/operate/rc/context-engine/agent-memory" >}}) or [self-managed]({{< relref "/develop/ai/context-engine/agent-memory/self-managed" >}}) on your own Kubernetes cluster; both share one Data Plane API, so you pick a deployment by pointing `api_base_url` at the right endpoint.

- **[Redis Agent Memory Server](https://github.com/redis/agent-memory-server)** handles working memory (sessions), long-term memory (extracted facts), auto-summarization, and memory search.
- **Memory backends** power the session and long-term memory services. Pick one per service with a `backend` field:
- **[Redis Agent Memory](https://redis.io/agent-memory/)** (`redis-agent-memory`, the default) is the Agent Memory service. Use this for new work. It runs either on [Redis Cloud]({{< relref "/operate/rc/context-engine/agent-memory" >}}) or [self-managed]({{< relref "/develop/ai/context-engine/agent-memory/self-managed" >}}) on your own Kubernetes cluster; both share one Data Plane API, so you pick a deployment by pointing `api_base_url` at the right endpoint.
- **[Agent Memory Server](https://github.com/redis/agent-memory-server)** (`opensource-agent-memory`) is the open source memory server, now deprecated. It is documented for existing deployments and currently remains the only backend offering auto-summarization, extraction strategies, recency-boosted search, and an MCP endpoint.

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.

Suggested change
- **[Agent Memory Server](https://github.com/redis/agent-memory-server)** (`opensource-agent-memory`) is the open source memory server, now deprecated. It is documented for existing deployments and currently remains the only backend offering auto-summarization, extraction strategies, recency-boosted search, and an MCP endpoint.

- **[Agent Memory Server](https://github.com/redis/agent-memory-server)** (`opensource-agent-memory`) is the open source memory server, now deprecated. It is documented for existing deployments and currently remains the only backend offering auto-summarization, extraction strategies, recency-boosted search, and an MCP endpoint.
- **[RedisVL]({{< relref "/develop/ai/redisvl" >}})** (Redis Vector Library) powers the search tools and local semantic cache provider.
- **[LangCache](https://redis.io/langcache/)** provides managed semantic caching with server-side embeddings.

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.

{{< note >}}
Agent Memory Server** (opensource-agent-memory) is now deprecated.
{{< /note >}}

- **[RedisVL]({{< relref "/develop/ai/redisvl" >}})** (Redis Vector Library) powers the search tools and local semantic cache provider.
- **[LangCache](https://redis.io/langcache/)** provides managed semantic caching with server-side embeddings.

See [Redis Agent Memory]({{< relref "/integrate/google-adk/redis-agent-memory" >}}) for the feature-by-feature comparison of the two memory backends.

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.

Suggested change
See [Redis Agent Memory]({{< relref "/integrate/google-adk/redis-agent-memory" >}}) for the feature-by-feature comparison of the two memory backends.

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

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