#612·Memori

Proposal: pluggable retrieval index backend and optional Milvus support

Author: zc277584121Created Jul 15, 2026Updated Jul 15, 2026

Hi maintainers,

I was looking at Memori's retrieval path and noticed that storage adapters are already pluggable for SQL/NoSQL databases, while semantic retrieval appears to read embeddings from storage and rank them through an in-process FAISS-based search path such as memori/search/_faiss.py.

Would you be open to a separate retrieval-index abstraction, so users can keep the current BYODB storage model while optionally using an external vector index such as Milvus for semantic search?

A possible scoped shape:

  1. Keep the current FAISS/in-process search as the default local path.
  2. Add a narrow retrieval index interface around vector upsert/delete/search and metadata filtering.
  3. Keep source-of-truth facts/conversations in the existing storage adapters.
  4. Add an optional Milvus retrieval index backend for larger deployments.
  5. Support Milvus Lite for local development and Milvus server / Zilliz Cloud for production.
  6. Add focused tests to verify result ordering and metadata behavior against the existing search contract.

Would this fit Memori's architecture, or is the semantic search path intended to remain fully local/in-process?