pgvector is open-source vector similarity search for Postgres. After connecting with postgres run CREATE EXTENSION IF NOT EXISTS vector; to create the vector extension.

Usage

import os
from mem0 import Memory

os.environ["OPENAI_API_KEY"] = "sk-xx"

config = {
    "vector_store": {
        "provider": "pgvector",
        "config": {
            "user": "test",
            "password": "123",
            "host": "127.0.0.1",
            "port": "5432",
        }
    }
}

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

Config

Here’s the parameters available for configuring pgvector:

ParameterDescriptionDefault Value
dbnameThe name of the databasepostgres
collection_nameThe name of the collectionmem0
embedding_model_dimsDimensions of the embedding model1536
userUser name to connect to the databaseNone
passwordPassword to connect to the databaseNone
hostThe host where the Postgres server is runningNone
portThe port where the Postgres server is runningNone
diskannWhether to use diskann for vector similarity search (requires pgvectorscale)True