{
  "schema_version": 2,
  "id": "integrate/google-adk",
  "title": "Redis with Google Agent Development Kit (ADK)",
  "url": "https://redis.io/docs/latest/integrate/google-adk/",
  "summary": "Build AI agents with persistent memory, semantic search, and caching using Redis and Google ADK.",
  "tags": [
    "docs",
    "integrate",
    "oss",
    "rs",
    "rc"
  ],
  "last_updated": "2026-09-17T14:55:03+01:00",
  "children": [
    {
      "id": "integrate/google-adk/redis-agent-memory",
      "summary": "Session and long-term memory for Google ADK agents using Redis Agent Memory.",
      "title": "Redis Agent Memory",
      "url": "https://redis.io/docs/latest/integrate/google-adk/redis-agent-memory/"
    },
    {
      "id": "integrate/google-adk/integration-patterns",
      "summary": "Approaches for connecting Google ADK agents to Redis memory.",
      "title": "Memory integration patterns",
      "url": "https://redis.io/docs/latest/integrate/google-adk/integration-patterns/"
    },
    {
      "id": "integrate/google-adk/search-tools",
      "summary": "Vector, hybrid, text, range, and SQL search tools for Google ADK agents, plus the RedisVL MCP server.",
      "title": "Redis search tools",
      "url": "https://redis.io/docs/latest/integrate/google-adk/search-tools/"
    },
    {
      "id": "integrate/google-adk/semantic-caching",
      "summary": "Cache LLM responses and tool results using semantic similarity with Redis.",
      "title": "Semantic caching",
      "url": "https://redis.io/docs/latest/integrate/google-adk/semantic-caching/"
    },
    {
      "id": "integrate/google-adk/examples",
      "summary": "Complete examples for every adk-redis capability.",
      "title": "adk-redis examples",
      "url": "https://redis.io/docs/latest/integrate/google-adk/examples/"
    },
    {
      "id": "integrate/google-adk/agent-memory-server",
      "summary": "Deprecated. The opensource-agent-memory backend is no longer maintained. Migrate existing deployments to Redis Agent Memory.",
      "title": "Agent Memory Server (deprecated)",
      "url": "https://redis.io/docs/latest/integrate/google-adk/agent-memory-server/"
    }
  ],
  "page_type": "content",
  "content_hash": "798680335167141737f173c8940edc9340c6d566361713276badb3a8316e27bf",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "[Google Agent Development Kit (ADK)](https://google.github.io/adk-docs/) provides clean abstractions for building AI agents: interfaces for memory, sessions, tools, and callbacks. [adk-redis](https://github.com/redis-developer/adk-redis) implements these interfaces using Redis, giving agents persistent two-tier memory, semantic search for RAG, and response caching without requiring changes to agent logic."
    },
    {
      "id": "architecture",
      "title": "Architecture",
      "role": "content",
      "text": "adk-redis connects several backend systems to the ADK framework:\n\n- **[Redis Agent Memory](https://redis.io/docs/latest/develop/ai/context-engine/agent-memory)** handles working memory (sessions), long-term memory (extracted facts), auto-summarization, and memory search. Use the default `redis-agent-memory` for new work. It runs either on [Redis Cloud](https://redis.io/docs/latest/operate/rc/context-engine/agent-memory) or [self-managed](https://redis.io/docs/latest/operate/iris/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.\n- **[RedisVL](https://redis.io/docs/latest/develop/ai/redisvl)** (Redis Vector Library) powers the search tools and local semantic cache provider.\n- **[LangCache](https://redis.io/langcache/)** provides managed semantic caching with server-side embeddings.\n\n> [!NOTE]\n> [Agent Memory Server](https://github.com/redis/agent-memory-server)\n> (`opensource-agent-memory`) is now deprecated. If you have an existing\n> deployment, see\n> [Agent Memory Server (deprecated)](https://redis.io/docs/latest/integrate/google-adk/agent-memory-server),\n> which also covers migrating to Redis Agent Memory."
    },
    {
      "id": "prerequisites",
      "title": "Prerequisites",
      "role": "content",
      "text": "- **Redis 8.4+** with vector search support, for the search tools and the local semantic cache\n- **A [Redis Agent Memory](https://redis.io/docs/latest/develop/ai/context-engine/agent-memory) store**, for the session and memory services, which gives you a Data Plane endpoint, an API key, and a store ID\n\nProvision a store, then pass its Data Plane endpoint, API key, and store ID to the services.\n\n- On **Redis Cloud**, there is nothing to run. See [Create an Agent Memory service](https://redis.io/docs/latest/operate/iris/agent-memory/create-service).\n- To run it **yourself**, see [Self-managed Agent Memory](https://redis.io/docs/latest/operate/iris/agent-memory/self-managed) for deployment, configuration, and operations on your own Kubernetes cluster.\n\nBoth use `backend=\"redis-agent-memory\"`. Only `api_base_url` differs."
    },
    {
      "id": "installation",
      "title": "Installation",
      "role": "setup",
      "text": "[code example]\n\nThe `memory` extra requires `redis-agent-memory>=0.2.0`."
    },
    {
      "id": "quick-start",
      "title": "Quick start",
      "role": "content",
      "text": "Wire up Redis Agent Memory in a few lines:\n\n[code example]"
    },
    {
      "id": "capabilities",
      "title": "Capabilities",
      "role": "content",
      "text": "| Capability | Description | Page |\n|------------|-------------|------|\n| **Redis Agent Memory** | Session and long-term memory on Redis Cloud or self-managed, via framework services or REST tools | [Redis Agent Memory](https://redis.io/docs/latest/integrate/google-adk/redis-agent-memory) |\n| **Integration patterns** | Framework-managed, LLM-controlled REST, and MCP tools | [Integration patterns](https://redis.io/docs/latest/integrate/google-adk/integration-patterns) |\n| **Search tools** | Vector, hybrid, text, range, and SQL search via RedisVL, plus the `rvl mcp` server over `McpToolset` | [Search tools](https://redis.io/docs/latest/integrate/google-adk/search-tools) |\n| **Semantic caching** | LLM response and tool result caching, with stable entry IDs and targeted invalidation | [Semantic caching](https://redis.io/docs/latest/integrate/google-adk/semantic-caching) |\n| **Examples** | Complete examples covering all capabilities | [Examples](https://redis.io/docs/latest/integrate/google-adk/examples) |\n| **Agent Memory Server** (deprecated) | Reference for the deprecated `opensource-agent-memory` backend, and how to migrate off it | [Agent Memory Server (deprecated)](https://redis.io/docs/latest/integrate/google-adk/agent-memory-server) |"
    },
    {
      "id": "more-info",
      "title": "More info",
      "role": "content",
      "text": "- [adk-redis on GitHub](https://github.com/redis-developer/adk-redis)\n- [adk-redis on PyPI](https://pypi.org/project/adk-redis/)\n- [Car dealership tutorial](https://redis.io/tutorials/build-a-car-dealership-agent-with-google-adk-and-redis-agent-memory/)\n- [RedisVL documentation](https://redis.io/docs/latest/develop/ai/redisvl)\n- [Google ADK documentation](https://google.github.io/adk-docs/)"
    }
  ],
  "examples": [
    {
      "id": "installation-ex0",
      "language": "bash",
      "code": "# Memory and session services (both backends)\npip install adk-redis[memory]\n\n# Search tools via RedisVL\npip install adk-redis[search]\n\n# SQL-style search tool (sql-redis)\npip install adk-redis[sql]\n\n# Managed semantic caching via LangCache\npip install adk-redis[langcache]\n\n# Everything\npip install adk-redis[all]\n\n# For the RedisVL MCP server (used with ADK's native McpToolset)\npip install 'redisvl[mcp]>=0.18.2'",
      "section_id": "installation"
    },
    {
      "id": "quick-start-ex0",
      "language": "python",
      "code": "from google.adk import Agent\nfrom google.adk.agents.callback_context import CallbackContext\nfrom google.adk.runners import Runner\nfrom adk_redis.sessions import (\n    RedisSessionMemoryService,\n    RedisSessionMemoryServiceConfig,\n)\nfrom adk_redis.memory import (\n    RedisLongTermMemoryService,\n    RedisLongTermMemoryServiceConfig,\n)\n\nsession_service = RedisSessionMemoryService(\n    config=RedisSessionMemoryServiceConfig(\n        backend=\"redis-agent-memory\",\n        api_base_url=\"https://your-endpoint.redis.io\",\n        api_key=\"your-api-key\",\n        store_id=\"your-store-id\",\n        default_namespace=\"my_app\",\n    )\n)\nmemory_service = RedisLongTermMemoryService(\n    config=RedisLongTermMemoryServiceConfig(\n        backend=\"redis-agent-memory\",\n        api_base_url=\"https://your-endpoint.redis.io\",\n        api_key=\"your-api-key\",\n        store_id=\"your-store-id\",\n        default_namespace=\"my_app\",\n    )\n)\n\nasync def after_agent(callback_context: CallbackContext):\n    await callback_context.add_session_to_memory()\n\nagent = Agent(\n    name=\"my_agent\",\n    model=\"gemini-2.5-flash\",\n    instruction=\"You are a helpful assistant with long-term memory.\",\n    after_agent_callback=after_agent,\n)\n\nrunner = Runner(\n    agent=agent,\n    app_name=\"my_app\",\n    session_service=session_service,\n    memory_service=memory_service,\n)",
      "section_id": "quick-start"
    }
  ]
}
