You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MemMachine's event-backed long-term memory can already use the VectorStore abstraction with backends such as Qdrant and SQLite-based local stores. Users who already run Milvus, use Zilliz Cloud, or want an embedded Milvus Lite deployment currently cannot configure Milvus as the vector store for that path.
Describe the solution you'd like
Add a Milvus-backed VectorStore implementation that follows the existing VectorStore / VectorStoreCollection contract and mirrors the Qdrant backend's integration points where possible.
Proposed scope:
Add MilvusVectorStore / MilvusVectorStoreCollection under memmachine_server.common.vector_store.
Use the current pymilvus client API as an optional dependency, exposed through a milvus extra.
Support local Milvus Lite through a file URI, and remote Milvus / Zilliz Cloud through uri and token configuration.
Add configuration fields such as uri, token, optional db_name, and optional consistency_level.
Wire the backend into DatabasesConf, DatabaseManager.get_vector_store(), and the configuration wizard in the same style as the existing vector store providers.
Cover collection lifecycle, config mismatch handling, upsert/query/get/delete, filters, score thresholds, and return-vector / return-properties behavior with tests.
Add documentation or sample configuration showing Milvus Lite and remote Milvus / Zilliz Cloud usage.
Describe alternatives you've considered
Users can use the existing Qdrant or SQLite vector store backends, but that does not help deployments that already standardize on Milvus or Zilliz Cloud. PostgreSQL/pgvector covers a different storage path and does not provide the same Milvus deployment options.
Additional context
This should fit the existing provider model without changing the higher-level memory APIs. The implementation can keep Milvus-specific behavior isolated behind the VectorStore abstraction and avoid changing event memory semantics.
Is your feature request related to a problem?
MemMachine's event-backed long-term memory can already use the
VectorStoreabstraction with backends such as Qdrant and SQLite-based local stores. Users who already run Milvus, use Zilliz Cloud, or want an embedded Milvus Lite deployment currently cannot configure Milvus as the vector store for that path.Describe the solution you'd like
Add a Milvus-backed
VectorStoreimplementation that follows the existingVectorStore/VectorStoreCollectioncontract and mirrors the Qdrant backend's integration points where possible.Proposed scope:
MilvusVectorStore/MilvusVectorStoreCollectionundermemmachine_server.common.vector_store.pymilvusclient API as an optional dependency, exposed through amilvusextra.uriandtokenconfiguration.uri,token, optionaldb_name, and optionalconsistency_level.DatabasesConf,DatabaseManager.get_vector_store(), and the configuration wizard in the same style as the existing vector store providers.Describe alternatives you've considered
Users can use the existing Qdrant or SQLite vector store backends, but that does not help deployments that already standardize on Milvus or Zilliz Cloud. PostgreSQL/pgvector covers a different storage path and does not provide the same Milvus deployment options.
Additional context
This should fit the existing provider model without changing the higher-level memory APIs. The implementation can keep Milvus-specific behavior isolated behind the
VectorStoreabstraction and avoid changing event memory semantics.cc @edwinyyyu @malatewang @sscargal, since this touches the vector store backend/provider shape and configuration flow.