Redis Agent Memory integration for NVIDIA NeMo Agent Toolkit
Project description
Nvidia-NAT-Redis
Redis-backed memory for NVIDIA NeMo Agent Toolkit — production Redis Agent Memory integrations plus direct Redis plugins (the historical nat.plugins.redis stack).
In NAT, long-term recall is usually wired through memory tools such as get_memory and add_memory, which delegate to a MemoryEditor implementation. This package adds Redis-backed options in two families: Redis Agent Memory (AMS over HTTP — richer lifecycle, optional auto-memory workflow) and direct Redis (JSON + vector search or plain KV inside nat.plugins.redis, no AMS).
This repo is the standalone home for integrations that used to ship under
packages/nvidia_nat_redis in the NeMo Agent Toolkit monorepo.
Redis Agent Memory (full stack)
-
_type: redis_agent_memory_backend— Redis Agent Memory as a NATMemoryEditorlong-term memory backend. -
_type: redis_agent_memory_auto_memory— A native Redis Agent Memory wrapper that uses working memory plusmemory_prompthydration on every turn. AMS runs as a separate service; these surfaces talk to it via the agent-memory client. -
_type: redis_agent_memory_backend— Redis Agent Memory behind NAT’s standardMemoryEditorcontract (fits tool-driven long-term memory). -
_type: redis_agent_memory_auto_memory— Aworkflowwrapper (not just another editor): working memory,memory_prompthydration every turn, turn capture, and promotion — the fullest AMS-shaped integration.
Direct Redis (simple in-Redis memory)
Loaded via the nat_redis setuptools entry point (same name as the historical
monorepo package):
_type: redis_memory— Vector search over JSON documents in Redis (RediSearch); requires a workflowembedderand Redis Stack (or Redis with search + JSON support). ImplementsMemoryEditor-style semantic memory without AMS._type: redis— NAT object store on plain Redis key–value storage (not semantic long-term memory).
| Redis Agent Memory | Direct Redis | |
|---|---|---|
| Runs | AMS service + Redis | Redis only (your NAT process uses the client) |
| Best for | Learning-style memory, working memory, AMS filters and APIs | Lightweight Redis-native memory or KV object store |
| Tradeoff | Operate AMS; HTTP path | Simpler ops for redis / redis_memory; vector path needs embedder + search-capable Redis |
Use Redis Agent Memory when you want the Redis Agent Memory feature set.
Use redis_memory when you only need a lightweight Redis-native MemoryEditor
without AMS.
Python imports (same as NeMo)
Direct Redis support is implemented only under nat.plugins.redis (for example
from nat.plugins.redis.redis_editor import RedisEditor), matching NeMo Agent
Toolkit. The setuptools entry point nat_redis loads
nat.plugins.redis.register. Redis Agent Memory code lives under
nvidia_nat_redis.redis_agent_memory.
Install
pip install nemo-agent-toolkit-redis
For local development in this repo:
git clone https://github.com/redis-developer/nvidia-nat-redis.git
cd nvidia-nat-redis
uv sync --group dev --extra test
Choose A Surface
- Use
_type: redis_agent_memory_backendwhen your workflow already uses NAT memory tools and you want Redis Agent Memory behind the standardMemoryEditorcontract. - Use
_type: redis_agent_memory_auto_memorywhen you want Redis Agent Memory to own working-memory continuity, prompt hydration, and turn capture on every request. This exposes the richness of Redis Agent Memory in its fullest form. - Use
_type: redis_memorywhen you want the simpler direct-Redis memory from NeMo Agent Toolkit (Redis JSON + vector index, no Redis Agent Memory). You must configure anembedderreference and run a Redis deployment that supports the search commands used by the plugin. - Use
_type: rediswhen you need NAT’s Redis-backed object store (KV), not vector or AMS-backed semantic memory.
Integration Modes
These examples cover the two Redis Agent Memory integration shapes (MemoryEditor backend vs workflow wrapper). For redis_memory / redis, see Configuration reference.
Direct Long-Term Memory Backend
Use _type: redis_agent_memory_backend when you want Redis Agent Memory behind NAT's
generic memory tools such as get_memory and add_memory.
memory:
redis_memory:
_type: redis_agent_memory_backend
base_url: http://localhost:8000
default_namespace: nat
Native Redis Agent Memory Wrapper
Use _type: redis_agent_memory_auto_memory when you want:
- working-memory continuity by
conversation_id - automatic
memory_prompthydration - completed turns appended back into Redis Agent Memory
- background promotion into long-term memory
workflow:
_type: redis_agent_memory_auto_memory
inner_agent_name: assistant_chat
memory_name: redis_memory
memory_prompt:
optimize_query: false
long_term_search:
limit: 5
working_memory:
namespace: nat
ttl_seconds: 86400
long_term_memory_strategy:
strategy: discrete
The wrapper resolves runtime identity from NAT context:
user_id-> Redis Agent Memoryuser_idconversation_id-> Redis Agent Memorysession_id
Examples
Both example directories are self-contained. Each includes a .env.example,
localhost-bound Docker Compose services, a NAT config, a runner, and a short
README.
Configuration
Development
make setup
make lint
make test
make validate
make build
make check
Integration tests are opt-in because they start real Redis and Agent Memory Server containers:
make test-integration
The example Compose files are intended for local development. They bind Redis
and AMS to 127.0.0.1 and run AMS with auth disabled.
See CONTRIBUTING.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nemo_agent_toolkit_redis-0.1.0.tar.gz.
File metadata
- Download URL: nemo_agent_toolkit_redis-0.1.0.tar.gz
- Upload date:
- Size: 230.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0d2d8064d15d5927df958b9ca42fc16ce1d4259a2e20581cc28f2694e291e0b
|
|
| MD5 |
4e2c285e694c974edf8090cd861f08a3
|
|
| BLAKE2b-256 |
0078e5a534825d804d2090bbb81390bb316f8291c63f67d1cdc7b0258494d06a
|
Provenance
The following attestation bundles were made for nemo_agent_toolkit_redis-0.1.0.tar.gz:
Publisher:
publish.yml on redis-developer/nemo-agent-toolkit-redis
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nemo_agent_toolkit_redis-0.1.0.tar.gz -
Subject digest:
d0d2d8064d15d5927df958b9ca42fc16ce1d4259a2e20581cc28f2694e291e0b - Sigstore transparency entry: 1695922024
- Sigstore integration time:
-
Permalink:
redis-developer/nemo-agent-toolkit-redis@d765f67591249163d5aa03587eac87fce0db1aeb -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/redis-developer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d765f67591249163d5aa03587eac87fce0db1aeb -
Trigger Event:
release
-
Statement type:
File details
Details for the file nemo_agent_toolkit_redis-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nemo_agent_toolkit_redis-0.1.0-py3-none-any.whl
- Upload date:
- Size: 36.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d61f357ecf7c1be0e64c36e9c227ee499901a3d0dc96dcf427e9632017444139
|
|
| MD5 |
f3db0ad6433a6eb73e82a29082ecbd54
|
|
| BLAKE2b-256 |
0f25cafe55dfb52a9806b2459be4b6280ce6160279186a106337e21b1f557e35
|
Provenance
The following attestation bundles were made for nemo_agent_toolkit_redis-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on redis-developer/nemo-agent-toolkit-redis
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nemo_agent_toolkit_redis-0.1.0-py3-none-any.whl -
Subject digest:
d61f357ecf7c1be0e64c36e9c227ee499901a3d0dc96dcf427e9632017444139 - Sigstore transparency entry: 1695922254
- Sigstore integration time:
-
Permalink:
redis-developer/nemo-agent-toolkit-redis@d765f67591249163d5aa03587eac87fce0db1aeb -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/redis-developer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d765f67591249163d5aa03587eac87fce0db1aeb -
Trigger Event:
release
-
Statement type: