# tinker_cookbook.preference

| Class | Description |
| --- | --- |
| [`Comparison`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/comparison/) | A pair of completions (A and B) generated from the same prompt conversation. |
| [`LabeledComparison`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/labeledcomparison/) | A Comparison annotated with a human preference label (A, B, or Tie). |
| [`ComparisonRenderer`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/comparisonrenderer/) | Abstract renderer for converting Comparisons to model inputs for preference trai |
| [`ComparisonRendererFromChatRenderer`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/comparisonrendererfromchatrenderer/) | Wraps a chat Renderer to render Comparisons for preference training. |
| [`PreferenceModel`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/preferencemodel/) | Abstract base class for models that score a Comparison and return a preference f |
| [`PreferenceModelBuilder`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/preferencemodelbuilder/) | Abstract builder that creates PreferenceModel instances. |
| [`PreferenceModelFromChatRenderer`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/preferencemodelfromchatrenderer/) | A PreferenceModel that uses a chat renderer and Tinker sampling client. |
| [`PreferenceModelBuilderFromChatRenderer`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/preferencemodelbuilderfromchatrenderer/) | Builds a PreferenceModel that uses a chat renderer and a Tinker sampling client. |
| [`Config`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/config/) | Configuration for Direct Preference Optimization (DPO) training.
