Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

maximem_synap_nemo_agent_toolkit-0.2.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file maximem_synap_nemo_agent_toolkit-0.2.0.tar.gz.

File metadata

File hashes

Hashes for maximem_synap_nemo_agent_toolkit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 941568e17258a4138dce5368f532ee8a721b786682d56524a18e62e187af8f32
MD5 8acfc4aefe36447d8a9014ca7032db81
BLAKE2b-256 163b5a80ff92d6508696a372ee770946038a5c3ea26722b81d4dfad6135ffa3f

See more details on using hashes here.

File details

Details for the file maximem_synap_nemo_agent_toolkit-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for maximem_synap_nemo_agent_toolkit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8686b091c3477511967b7ffc8cb882288d5ab1e42d465a8e08d74e0a5379bfe9
MD5 25cc70cbea9fab44bff32eef10b06d2b
BLAKE2b-256 9d739055e2a52e2ba64aee5182917e77621cdcf880de24c3ab2f0ee8f9bf69c3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page