# tinker_cookbook.preference.Comparison ## *class* [**tinker_cookbook.preference.Comparison**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/preference/types.py#L24)() A pair of completions (A and B) generated from the same prompt conversation. Used as the basic unit for preference learning: a single prompt with two candidate responses that can be compared by a human or a preference model. ```python comparison = Comparison( prompt_conversation=[{"role": "user", "content": "Summarize X"}], completion_A=[{"role": "assistant", "content": "Summary A..."}], completion_B=[{"role": "assistant", "content": "Summary B..."}], ) ``` **Fields:** - [**prompt_conversation**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/preference/types.py#L45) (*list\[renderers.[Message](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/message/index.md)\]*) - [**completion_A**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/preference/types.py#L46) (*list\[renderers.[Message](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/message/index.md)\]*) - [**completion_B**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/preference/types.py#L47) (*list\[renderers.[Message](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/message/index.md)\]*) ### [**swap**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/preference/types.py#L49)() Return a new Comparison with A and B swapped. **Returns:** *[Comparison](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/comparison/index.md)* – A copy where `completion_A` and `completion_B` are exchanged. ## Referenced by - [tinker_cookbook.preference.ComparisonRenderer.build_generation_prompt](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/comparisonrenderer/#comparisonrenderer-build_generation_prompt) - [tinker_cookbook.preference.ComparisonRendererFromChatRenderer.build_generation_prompt](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/comparisonrendererfromchatrenderer/#comparisonrendererfromchatrenderer-build_generation_prompt) - [tinker_cookbook.preference.LabeledComparison](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/labeledcomparison/index.md) - [tinker_cookbook.preference.PreferenceModel.__call__](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/preferencemodel/#preferencemodel-call) - [tinker_cookbook.preference.PreferenceModelFromChatRenderer.__call__](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/preference/preferencemodelfromchatrenderer/#preferencemodelfromchatrenderer-call)