> ## 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.models.reward.base reward model

<a id="camel.models.reward.base_reward_model" />

<a id="camel.models.reward.base_reward_model.BaseRewardModel" />

## BaseRewardModel

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

Abstract base class for reward models. Reward models are used to
evaluate messages and return scores based on different criteria.

Subclasses should implement the 'evaluate' and 'get\_scores\_types' methods.

<a id="camel.models.reward.base_reward_model.BaseRewardModel.__init__" />

### **init**

```python theme={"system"}
def __init__(
    self,
    model_type: Union[ModelType, str],
    api_key: Optional[str] = None,
    url: Optional[str] = None
):
```

<a id="camel.models.reward.base_reward_model.BaseRewardModel.evaluate" />

### evaluate

```python theme={"system"}
def evaluate(self, messages: List[Dict[str, str]]):
```

Evaluate the messages and return scores based on different
criteria.

**Parameters:**

* **messages** (List\[Dict\[str, str]]): A list of messages where each message is a dictionary with 'role' and 'content'.

**Returns:**

Dict\[str, float]: A dictionary mapping score types to their values.

<a id="camel.models.reward.base_reward_model.BaseRewardModel.get_scores_types" />

### get\_scores\_types

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

**Returns:**

List\[str]: A list of score types that the reward model can return.
