docs(google-adk): bring ADK docs to parity with adk-redis 0.0.9 - #3746
docs(google-adk): bring ADK docs to parity with adk-redis 0.0.9#3746nkanu17 wants to merge 3 commits into
Conversation
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.
|
|
…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.
|
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
left a comment
There was a problem hiding this comment.
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.
|
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 Self-managed Agent Memory serves the same shared Data Plane API as Redis Cloud (
You pick a deployment with
On the 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
left a comment
There was a problem hiding this comment.
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: |
There was a problem hiding this comment.
| - **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. |
There was a problem hiding this comment.
| - **[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. |
There was a problem hiding this comment.
| - **[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. | ||
|
|
There was a problem hiding this comment.
{{< 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. |
There was a problem hiding this comment.
| 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. |
|
|
||
| Requires prompt engineering to teach the LLM memory management strategy, but gives the agent genuine autonomy over its own memory. | ||
|
|
||
| ### Invocation-scoped users |
| ## 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. |
| 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 approach — swap 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. |
| - [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 |
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.
redis-agent-memory(managed) the default backend, but every sample passed a localhost Agent Memory Server URL with nobackendoverride. As written, the services silently targeted the managed backend. All service and tool samples now setbackendexplicitly, and the self-hosted path is called out.create_memory_mcp_toolsetno longer exists in adk-redis. The MCP samples inredis-agent-memory.mdandintegration-patterns.mdimported it, so they raisedImportError. Both now use ADK's nativeMcpToolset+SseConnectionParams, matching thefitness_coach_mcpexample.RedisWorkingMemorySessionServicewas renamed toRedisSessionMemoryServicein 0.0.8. The old name is a deprecated alias that emits aDeprecationWarningand 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:
recency_boostFalseTrueextraction_strategyNonediscrete(plus a fourth value,custom)semantic_weight/recency_weightapi_base_url,default_namespaceAlso added the missing
backend,api_key,store_id, timeout, threshold, weight, and half-life fields.Other changes
GetMemoryToolandMemoryPromptToolwere missing.tool_contextand the client-suppliedidonCreateMemoryTool(0.0.9).CacheEntry, anddelete_by_id()targeted invalidation (0.0.9), plus the requiredserver_urlonLangCacheProviderConfig.managed_memory_quickstart, labeled each memory example with its backend, and noted the runner per example (python main.pyvsadk web .).redis_search_toolswires three tools, not four.redis-agent-memory>=0.2.0floor.Verification
Every class name, config field, default value, and example was checked against adk-redis
mainat 0.0.9 rather than against the changelog.I could not get a clean local Hugo build to validate the new
relref, but the sameByWeighttemplate error reproduces on an unmodifiedmainwith Hugo 0.160.1, so it is a local version mismatch rather than anything in this change. The one newrelreftarget (/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
RedisWorkingMemorySessionServicewith nobackendfield. 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 andopensource-agent-memory(deprecated Agent Memory Server) as the legacy path, with explicitbackend,api_key, andstore_idin samples. Working memory is renamed to session memory; samples useRedisSessionMemoryService/RedisSessionMemoryServiceConfigwith 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_toolsetin favor of ADK’s nativeMcpToolset+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, optionalapi_base_url/ namespace). REST docs list six tools (GetMemoryTool,MemoryPromptTool) plus invocation-scoped users and idempotentCreateMemoryToolIDs (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 addsCacheEntry,delete_by_id(), and required LangCacheserver_url.Reviewed by Cursor Bugbot for commit 51c7df9. Bugbot is set up for automated code reviews on this repo. Configure here.