Skip to content

Add SelfMemory memory provider plugin #1767

@shrijayan

Description

@shrijayan

Is this a new feature, an improvement, or a change to existing functionality?

New Feature

How would you describe the priority of this feature request

Low (would be nice)

Please provide a clear description of problem this feature solves

NeMo Agent Toolkit currently supports limited memory backends (Mem0, Redis, Zep). Users who want to use other vector stores (Qdrant, Chroma, Pinecone, Weaviate, etc.) or embedding providers (OpenAI, Ollama, HuggingFace, etc.) need to write their own integration from scratch. SelfMemory provides a unified interface to 29+ vector stores and 15+ embedding providers, reducing this effort to a simple config change.

Describe your ideal solution

A new nvidia-nat-selfmemory package that implements the MemoryEditor interface using SelfMemory as the backend. Users should be able to configure it in YAML like any other memory provider:

memory:
  my_store:
    _type: selfmemory
    vector_store_provider: qdrant
    embedding_provider: openai

The plugin should follow the same patterns as the existing nvidia-nat-mem0ai package — config class extending MemoryBaseConfig, async MemoryEditor implementation, registration via @register_memory, and entry point discovery.

Additional context

SelfMemory is an open-source library: https://github.com/shrijayan/selfmemory. It also supports optional encryption via MASTER_ENCRYPTION_KEY and LLM-based memory extraction. The implementation follows the existing mem0 plugin structure under packages/nvidia_nat_selfmemory/.

Code of Conduct

  • I agree to follow this project's Code of Conduct
  • I have searched the open feature requests and have found no duplicates for this feature request

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs TriageNeed team to review and classifyfeature requestNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions