> ## 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.benchmarks.base

<a id="camel.benchmarks.base" />

<a id="camel.benchmarks.base.BaseBenchmark" />

## BaseBenchmark

```python theme={"system"}
class BaseBenchmark(ABC):
```

Base class for benchmarks.

**Parameters:**

* **name** (str): Name of the benchmark.
* **data\_dir** (str): Path to the data directory.
* **save\_to** (str): Path to save the results.
* **processes** (int): Number of processes to use for parallel processing. :(default: :obj:`1`)

<a id="camel.benchmarks.base.BaseBenchmark.__init__" />

### **init**

```python theme={"system"}
def __init__(
    self,
    name: str,
    data_dir: str,
    save_to: str,
    processes: int = 1
):
```

Initialize the benchmark.

**Parameters:**

* **name** (str): Name of the benchmark.
* **data\_dir** (str): Path to the data directory.
* **save\_to** (str): Path to save the results.
* **processes** (int): Number of processes to use for parallel processing. :(default: :obj:`1`)

<a id="camel.benchmarks.base.BaseBenchmark.download" />

### download

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

**Returns:**

BaseBenchmark: The benchmark instance.

<a id="camel.benchmarks.base.BaseBenchmark.load" />

### load

```python theme={"system"}
def load(self, force_download: bool = False):
```

Load the benchmark data.

**Parameters:**

* **force\_download** (bool): Whether to force download the data.

**Returns:**

BaseBenchmark: The benchmark instance.

<a id="camel.benchmarks.base.BaseBenchmark.train" />

### train

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

**Returns:**

List\[Dict\[str, Any]]: The training data.

<a id="camel.benchmarks.base.BaseBenchmark.valid" />

### valid

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

**Returns:**

List\[Dict\[str, Any]]: The validation data.

<a id="camel.benchmarks.base.BaseBenchmark.test" />

### test

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

**Returns:**

List\[Dict\[str, Any]]: The test data.

<a id="camel.benchmarks.base.BaseBenchmark.run" />

### run

```python theme={"system"}
def run(
    self,
    agent: ChatAgent,
    on: Literal['train', 'valid', 'test'],
    randomize: bool = False,
    subset: Optional[int] = None,
    *args,
    **kwargs
):
```

Run the benchmark.

**Parameters:**

* **agent** (ChatAgent): The chat agent.
* **on** (str): The data split to run the benchmark on.
* **randomize** (bool): Whether to randomize the data.
* **subset** (int): The subset of the data to run the benchmark on.

**Returns:**

BaseBenchmark: The benchmark instance.

<a id="camel.benchmarks.base.BaseBenchmark.results" />

### results

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

**Returns:**

List\[Dict\[str, Any]]: The results.
