Judges
Source: trl

# JudgesTRL provides judges to easily compare two completions.Make sure to have installed the required dependencies by running:```bashpip install trl[llm_judge]```## Using the provided judgesTRL provides several judges out of the box. For example, you can use the `HfPairwiseJudge` to compare two completions using a pre-trained model from the Hugging Face model hub:```pythonfrom trl import HfPairwiseJudgejudge = HfPairwiseJudge()judge.judge(    prompts=["What is the capital of France?", "What is the biggest planet in the solar system?"],    completions=[["Paris", "Lyon"], ["Saturn", "Jupiter"]],)  # Outputs: [0, 1]```## Define your own judgeTo define your own judge, we provide several base classes that you can subclass. For rank-based judges, you need to subclass [`BaseRankJudge`] and implement the [`BaseRankJudge.judge`] method. For pairwise judges, you need to subclass [`BasePairJudge`] and implement the [`BasePairJudge.judge`] method. If you want to define a judge that doesn't fit into these categories, you need to subclass [`BaseJudge`] and implement the [`BaseJudge.judge`] method.As an example, let's define a pairwise judge that prefers shorter completions:```pythonfrom trl import BasePairwiseJudgeclass PrefersShorterJudge(BasePairwiseJudge):    def judge(self, prompts, completions, shuffle_order=False):        return [0 if len(completion[0]) > len(completion[1]) else 1 for completion in completions]```You can then use this judge as follows:```pythonjudge = PrefersShorterJudge()judge.judge(    prompts=["What is the capital of France?", "What is the biggest planet in the solar system?"],    completions=[["Paris", "The capital of France is Paris."], ["Jupiter is the biggest planet in the solar system.", "Jupiter"]],)  # Outputs: [0, 1]```## BaseJudge[[autodoc]] BaseJudge## BaseRankJudge[[autodoc]] BaseRankJudge## BasePairwiseJudge[[autodoc]] BasePairwiseJudge## RandomRankJudge[[autodoc]] RandomRankJudge## RandomPairwiseJudge[[autodoc]] RandomPairwiseJudge## HfPairwiseJudge[[autodoc]] HfPairwiseJudge## OpenAIPairwiseJudge[[autodoc]] OpenAIPairwiseJudge