> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mem0.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Weaviate

> Use Weaviate as an open-source vector search engine in Mem0 for storing and retrieving vector embeddings.

[Weaviate](https://weaviate.io/) is an open-source vector search engine. It allows efficient storage and retrieval of high-dimensional vector embeddings, enabling powerful search and retrieval capabilities.

### Installation

```bash theme={null}
pip install weaviate-client
```

### Usage

```python Python theme={null}
import os
from mem0 import Memory

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

config = {
    "vector_store": {
        "provider": "weaviate",
        "config": {
            "collection_name": "test",
            "cluster_url": "http://localhost:8080",
            "auth_client_secret": None,
        }
    }
}

m = Memory.from_config(config)
messages = [
    {"role": "user", "content": "I'm planning to watch a movie tonight. Any recommendations?"},
    {"role": "assistant", "content": "How about a thriller movie? 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"})
```

### Config

Here are the parameters available for configuring Weaviate:

| 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`        |
| `cluster_url`          | URL for the Weaviate server                                  | `None`        |
| `auth_client_secret`   | API key for Weaviate authentication                          | `None`        |
| `additional_headers`   | Additional headers to include in requests (`Dict[str, str]`) | `None`        |
