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 |