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.1.1.tar.gz (7.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.1.1.tar.gz.

File metadata

File hashes

Hashes for maximem_synap_nemo_agent_toolkit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1e0685e2ec647bcab2685752316a86938899e522ce2157833557a3af2162f016
MD5 4eda202bb1233c538a30a2ac19995af9
BLAKE2b-256 ba1bb2e6a643163b1337dc01ccf2cebfdf698dd8492f0c40b2eac291e824a74c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for maximem_synap_nemo_agent_toolkit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9b952a2fd5f2435d1177b4083f3f64097cb4d68c0d1b800d0ce2ab0cad0d3636
MD5 6a94fa9b56135753f4e85be0487c0ac2
BLAKE2b-256 eb3e74f14982475c26d12884177a405a8690338c26d4738b19430419582f2867

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