BaseRewardModel

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.

init

def __init__(
    self,
    model_type: Union[ModelType, str],
    api_key: Optional[str] = None,
    url: Optional[str] = None
):

evaluate

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.

get_scores_types

def get_scores_types(self):

Returns:

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