Redis - Mem0

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

Redis

Redis is a scalable, real-time database that can store, search, and analyze vector data.

Installation

pip install redis redisvl

Redis Stack using Docker:

docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest

Usage

Python

import os
from mem0 import Memory

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

config = {
    "vector_store": {
        "provider": "redis",
        "config": {
            "collection_name": "mem0",
            "embedding_model_dims": 1536,
            "redis_url": "redis://localhost:6379"
        }
    },
    "version": "v1.1"
}

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: 'redis',
    config: {
      collectionName: 'memories',
      embeddingModelDims: 1536,
      redisUrl: 'redis://localhost:6379',
      username: 'your-redis-username',
      password: 'your-redis-password',
    },
  },
};

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

Let’s see the available parameters for the redis config:

Parameter Description Default Value
collection_name The name of the collection to store the vectors mem0
embedding_model_dims Dimensions of the embedding model 1536
redis_url The URL of the Redis server None
Parameter Description Default Value
collectionName The name of the collection to store the vectors mem0
embeddingModelDims Dimensions of the embedding model 1536
redisUrl The URL of the Redis server None
username Username for Redis connection None
password Password for Redis connection None