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

# Camel.storages.key value storages.mem0 cloud

<a id="camel.storages.key_value_storages.mem0_cloud" />

<a id="camel.storages.key_value_storages.mem0_cloud.Mem0Storage" />

## Mem0Storage

```python theme={"system"}
class Mem0Storage(BaseKeyValueStorage):
```

A concrete implementation of the :obj:`BaseKeyValueStorage` using Mem0
as the backend. This storage system uses Mem0's text capabilities to store,
search, and manage text with context.

**Parameters:**

* **agent\_id** (str): Default agent ID to associate memories with.
* **api\_key** (str, optional): The API key for authentication. If not provided, will try to get from environment variable MEM0\_API\_KEY (default: :obj:`None`).
* **user\_id** (str, optional): Default user ID to associate memories with (default: :obj:`None`).
* **metadata** (Dict\[str, Any], optional): Default metadata to include with all memories (default: :obj:`None`).
* **References**:
* **https**: //docs.mem0.ai

<a id="camel.storages.key_value_storages.mem0_cloud.Mem0Storage.__init__" />

### **init**

```python theme={"system"}
def __init__(
    self,
    agent_id: str,
    api_key: Optional[str] = None,
    user_id: Optional[str] = None,
    metadata: Optional[Dict[str, Any]] = None
):
```

<a id="camel.storages.key_value_storages.mem0_cloud.Mem0Storage._prepare_options" />

### \_prepare\_options

```python theme={"system"}
def _prepare_options(
    self,
    agent_id: Optional[str] = None,
    user_id: Optional[str] = None,
    metadata: Optional[Dict[str, Any]] = None,
    **kwargs: Any
):
```

Helper method to prepare options for Mem0 API calls.

**Parameters:**

* **agent\_id** (Optional\[str], optional): Agent ID to use (default: :obj:`None`).
* **user\_id** (Optional\[str], optional): User ID to use (default: :obj:`None`).
* **metadata** (Optional\[Dict\[str, Any]], optional): Additional metadata to include (default: :obj:`None`). \*\*kwargs (Any): Additional keyword arguments.

**Returns:**

Dict\[str, Any]: Prepared options dictionary for API calls.

<a id="camel.storages.key_value_storages.mem0_cloud.Mem0Storage._prepare_messages" />

### \_prepare\_messages

```python theme={"system"}
def _prepare_messages(self, records: List[Dict[str, Any]]):
```

Prepare messages from records for Mem0 API calls.

**Parameters:**

* **records** (List\[Dict\[str, Any]]): List of record dictionaries.

**Returns:**

List\[Dict\[str, Any]]: List of prepared message dictionaries.

<a id="camel.storages.key_value_storages.mem0_cloud.Mem0Storage.save" />

### save

```python theme={"system"}
def save(self, records: List[Dict[str, Any]]):
```

Saves a batch of records to the Mem0 storage system.

**Parameters:**

* **records** (List\[Dict\[str, Any]]): A list of dictionaries, where each dictionary represents a unique record to be stored.

<a id="camel.storages.key_value_storages.mem0_cloud.Mem0Storage.load" />

### load

```python theme={"system"}
def load(self):
```

**Returns:**

List\[Dict\[str, Any]]: A list of dictionaries, where each dictionary
represents a stored record.

<a id="camel.storages.key_value_storages.mem0_cloud.Mem0Storage.clear" />

### clear

```python theme={"system"}
def clear(
    self,
    agent_id: Optional[str] = None,
    user_id: Optional[str] = None
):
```

Removes all records from the Mem0 storage system.

**Parameters:**

* **agent\_id** (Optional\[str]): Specific agent ID to clear memories for.
* **user\_id** (Optional\[str]): Specific user ID to clear memories for.
