Milvus - Mem0

Milvus

Milvus is an open-source vector database that suits AI applications of every size, from running a demo chatbot in a Jupyter notebook to building web-scale search that serves billions of users.

Usage

The TypeScript SDK loads the Milvus client lazily. Install it alongside mem0ai when you use this provider:

npm install @zilliz/milvus2-sdk-node

Python

import os
from mem0 import Memory

config = {
    "vector_store": {
        "provider": "milvus",
        "config": {
            "collection_name": "test",
            "embedding_model_dims": 1536,
            "url": "127.0.0.1",
            "token": "8e4b8ca8cf2c67",
            "db_name": "my_database",
        }
    }
}

m = Memory.from_config(config)
messages = [\
    {"role": "user", "content": "I'm planning to watch a movie tonight. Any recommendations?"},\
    {"role": "assistant", "content": "How about thriller movies? They can be quite engaging."},\
    {"role": "user", "content": "I’m not a big fan of thriller movies but I love sci-fi movies."},\
    {"role": "assistant", "content": "Got it! I'll avoid thriller recommendations and suggest sci-fi movies in the future."}\
]
m.add(messages, user_id="alice", metadata={"category": "movies"})

TypeScript

import { Memory } from 'mem0ai/oss';

const config = {
  vectorStore: {
    provider: 'milvus',
    config: {
      collectionName: 'test',
      embeddingModelDims: 1536,
      url: 'http://localhost:19530',
      token: '8e4b8ca8cf2c67',
      dbName: 'my_database',
    },
  },
};

const memory = new Memory(config);
const messages = [\
  { role: "user", content: "I'm planning to watch a movie tonight. Any recommendations?" },\
  { role: "assistant", content: "How about thriller movies? They can be quite engaging." },\
  { role: "user", content: "I'm not a big fan of thriller movies but I love sci-fi movies." },\
  { role: "assistant", content: "Got it! I'll avoid thriller recommendations and suggest sci-fi movies in the future." },\
];
await memory.add(messages, { userId: "alice", metadata: { category: "movies" } });

Config

Here are the parameters available for configuring Milvus:

Parameter Description Default Value
url Full URL/Uri for Milvus/Zilliz server http://localhost:19530
token Token for Zilliz server / for local setup defaults to None. None
collection_name The name of the collection mem0
embedding_model_dims Dimensions of the embedding model 1536
metric_type Metric type for similarity search L2
db_name Name of the database ""
Parameter Description Default Value
url Full URL/Uri for Milvus/Zilliz server http://localhost:19530
token Token for Zilliz Cloud (optional for a local setup) undefined
collectionName The name of the collection mem0
embeddingModelDims Dimensions of the embedding model 1536
metricType Metric type for similarity search (L2, IP, COSINE, HAMMING, JACCARD) L2
dbName Name of the database undefined