Synap memory plugin for NVIDIA NeMo Agent Toolkit (NAT)
Project description
synap-nemo-agent-toolkit
Synap memory plugin for NVIDIA NeMo Agent Toolkit (NAT).
Implements nat.memory.interfaces.MemoryEditor so that NAT workflows can
use Synap as long-term memory out of the box — either programmatically,
or via a single YAML line:
memory:
synap:
_type: synap_memory
customer_id: "acme" # optional scope
mode: "accurate" # or "fast"
Install
pip install synap-nemo-agent-toolkit
Depends on maximem-synap>=0.2.0, synap-integrations-common>=0.1.0,
and nvidia-nat-core>=1.0.
Use (programmatic)
from maximem_synap import MaximemSynapSDK
from nat.memory.models import MemoryItem
from synap_nemo_agent_toolkit import SynapMemoryEditor
sdk = MaximemSynapSDK(api_key="...")
await sdk.initialize()
editor = SynapMemoryEditor(sdk=sdk, customer_id="acme", mode="accurate")
# Write
await editor.add_items([
MemoryItem(
user_id="alice",
memory="Prefers tea over coffee",
tags=["beverage", "preference"],
),
])
# Read — user_id is required on every search
hits = await editor.search("beverage preference", top_k=5, user_id="alice")
for hit in hits:
print(hit.memory, hit.tags, hit.similarity_score)
Use (YAML / NAT workflow)
Set SYNAP_API_KEY (optionally SYNAP_INSTANCE_ID) in the environment
and declare the memory provider in the workflow config:
memory:
synap:
_type: synap_memory
customer_id: "acme"
mode: "accurate"
# Optional — falls back to SYNAP_API_KEY env if omitted
# api_key: "${SYNAP_API_KEY}"
NAT's plugin loader picks up synap_memory via the nat.components
entry-point registered in this package's pyproject.toml.
Error policy
| Operation | Synap failure | Why |
|---|---|---|
add_items |
SynapIntegrationError |
Writes must be observable |
search |
Returns [] |
A read blip must never crash an agent turn |
remove_items |
Warn once, no-op | Synap has no public delete API |
Every write is tagged with an internal marker so search filters out
non-NAT memories that happen to share the same user scope — the
MemoryItem stream stays NAT-owned.
License
Apache-2.0.
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 maximem_synap_nemo_agent_toolkit-0.1.1.tar.gz.
File metadata
- Download URL: maximem_synap_nemo_agent_toolkit-0.1.1.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e0685e2ec647bcab2685752316a86938899e522ce2157833557a3af2162f016
|
|
| MD5 |
4eda202bb1233c538a30a2ac19995af9
|
|
| BLAKE2b-256 |
ba1bb2e6a643163b1337dc01ccf2cebfdf698dd8492f0c40b2eac291e824a74c
|
File details
Details for the file maximem_synap_nemo_agent_toolkit-0.1.1-py3-none-any.whl.
File metadata
- Download URL: maximem_synap_nemo_agent_toolkit-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b952a2fd5f2435d1177b4083f3f64097cb4d68c0d1b800d0ce2ab0cad0d3636
|
|
| MD5 |
6a94fa9b56135753f4e85be0487c0ac2
|
|
| BLAKE2b-256 |
eb3e74f14982475c26d12884177a405a8690338c26d4738b19430419582f2867
|