# tinker_cookbook.preference.PreferenceModel ## *class* [**tinker_cookbook.preference.PreferenceModel**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/preference/types.py#L202)() Abstract base class for models that score a Comparison and return a preference float. Subclasses implement `__call__` to return a score in [-1, 1] indicating which completion is preferred. ### [**__call__**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/preference/types.py#L209)(*comparison*) Return a preference score for the given comparison. **Parameters:** - [**comparison**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/preference/types.py#L209) (*[Comparison](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/comparison/index.md)*) – The comparison to evaluate. **Returns:** *float* – A score in [-1, 1]. -1 means A is strongly preferred, 0 is a tie, and 1 means B is strongly preferred. ## Referenced by - [tinker_cookbook.preference.PreferenceModelBuilder](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/preferencemodelbuilder/index.md) - [tinker_cookbook.preference.PreferenceModelBuilder.__call__](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/preferencemodelbuilder/#preferencemodelbuilder-call) - [tinker_cookbook.preference.PreferenceModelBuilderFromChatRenderer.__call__](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/preferencemodelbuilderfromchatrenderer/#preferencemodelbuilderfromchatrenderer-call) - [tinker_cookbook.preference.PreferenceModelFromChatRenderer](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/preferencemodelfromchatrenderer/index.md)