Skip to content

redis-developer/adk-redis

Repository files navigation

Redis × ADK

Redis Integrations for Google Agent Development Kit


adk-redis is the Redis layer for Google ADK agents. It implements ADK's BaseMemoryService, BaseSessionService, and BaseTool interfaces against Redis, Redis Vector Library, Redis Agent Memory. It also ships MCP toolset helpers and semantic-cache providers.

Surface What you get Backed by
Sessions BaseSessionService with durable conversation state Redis Agent Memory or Agent Memory Server
Long-term memory BaseMemoryService with semantic search Redis Agent Memory or Agent Memory Server
Memory tools LLM-controlled memory CRUD operations Redis Agent Memory or Agent Memory Server
Search tools Vector, hybrid, range, text, and SQL search as BaseTool subclasses RedisVL
MCP search search-records / upsert-records via ADK's native McpToolset rvl mcp server
Semantic cache Skip repeat LLM calls by semantic similarity RedisVL or Redis LangCache

Full documentation


Installation

pip install adk-redis

Optional extras:

pip install 'adk-redis[memory]'      # sessions + long-term memory services
pip install 'adk-redis[search]'      # RedisVL-backed search tools
pip install 'adk-redis[sql]'         # RedisSQLSearchTool
pip install 'adk-redis[langcache]'   # managed semantic cache provider
pip install 'adk-redis[all]'         # everything above

Memory backends are selected with backend:

Backend Use when Client
redis-agent-memory You want Redis Agent Memory managed by Redis or the Redis Agent Memory data plane redis-agent-memory
opensource-agent-memory You want the open source self-hosted Agent Memory Server agent-memory-client

Quick start

Prerequisites: Python 3.10+, Redis 8.4+, and one memory backend. See the Quickstart for full setup steps.

from google.adk import Agent
from google.adk.runners import Runner

from adk_redis import (
    RedisLongTermMemoryService,
    RedisLongTermMemoryServiceConfig,
    RedisWorkingMemorySessionService,
    RedisWorkingMemorySessionServiceConfig,
)

session_service = RedisWorkingMemorySessionService(
    config=RedisWorkingMemorySessionServiceConfig(
        backend="redis-agent-memory",
        api_base_url="http://localhost:8088",
        api_key="...",
        store_id="...",
        default_namespace="my_app",
    ),
)
memory_service = RedisLongTermMemoryService(
    config=RedisLongTermMemoryServiceConfig(
        backend="redis-agent-memory",
        api_base_url="http://localhost:8088",
        api_key="...",
        store_id="...",
        default_namespace="my_app",
    ),
)

agent = Agent(
    model="gemini-2.5-flash",
    name="memory_agent",
    instruction="You are a helpful assistant with long-term memory.",
)

runner = Runner(
    app_name="my_app",
    agent=agent,
    session_service=session_service,
    memory_service=memory_service,
)

For the open source self-hosted Agent Memory Server, set backend="opensource-agent-memory" and omit api_key and store_id unless your server requires them.

More examples: search tools, MCP search, semantic caching


Examples

Each example ships with a README and .env.example. Memory and session examples that register services through get_service_registry() run via python main.py; tools-only and search examples run via adk web. See each example's README and the Examples index for the runner and backend each uses.

Category Examples
Memory and sessions managed_memory_quickstart · simple_redis_memory · travel_agent_memory_hybrid · travel_agent_memory_tools · fitness_coach_mcp
Search redis_search_tools · redis_sql_search · redisvl_mcp_search
Caching semantic_cache · langcache_cache

Development

git clone https://github.com/redis-developer/adk-redis.git
cd adk-redis
make dev               # install with all extras + dev deps
make check             # format, lint, type-check, and test

See CONTRIBUTING.md for the full guide.


Contributing

Open an issue or submit a PR following CONTRIBUTING.md.

License

Apache 2.0. See LICENSE.


Links