Back to Mem0

Upstash Vector

docs/components/vectordbs/dbs/upstash-vector.mdx

2.0.12.1 KB
Original Source

Upstash Vector is a serverless vector database with built-in embedding models.

Usage with Upstash embeddings

You can enable the built-in embedding models by setting enable_embeddings to True. This allows you to use Upstash's embedding models for vectorization.

python
import os
from mem0 import Memory

os.environ["UPSTASH_VECTOR_REST_URL"] = "..."
os.environ["UPSTASH_VECTOR_REST_TOKEN"] = "..."

config = {
    "vector_store": {
        "provider": "upstash_vector",
        "enable_embeddings": True,
    }
}

m = Memory.from_config(config)
m.add("Likes to play cricket on weekends", user_id="alice", metadata={"category": "hobbies"})
<Note> Setting `enable_embeddings` to `True` will bypass any external embedding provider you have configured. </Note>

Usage with external embedding providers

python
import os
from mem0 import Memory

os.environ["OPENAI_API_KEY"] = "..."
os.environ["UPSTASH_VECTOR_REST_URL"] = "..."
os.environ["UPSTASH_VECTOR_REST_TOKEN"] = "..."

config = {
    "vector_store": {
        "provider": "upstash_vector",
    },
    "embedder": {
        "provider": "openai",
        "config": {
            "model": "text-embedding-3-large"
        },
    }
}

m = Memory.from_config(config)
m.add("Likes to play cricket on weekends", user_id="alice", metadata={"category": "hobbies"})

Config

Here are the parameters available for configuring Upstash Vector:

ParameterDescriptionDefault Value
urlURL for the Upstash Vector indexNone
tokenToken for the Upstash Vector indexNone
clientAn upstash_vector.Index instanceNone
collection_nameThe default namespace used""
enable_embeddingsWhether to use Upstash embeddingsFalse
<Note> When `url` and `token` are not provided, the `UPSTASH_VECTOR_REST_URL` and `UPSTASH_VECTOR_REST_TOKEN` environment variables are used. </Note>