Skip to content

PromptAlignment reward

Bases: RubricsAsJudge

Judge whether an answer follows instructions and constraints.

Example:

program.compile(
    reward=synalinks.rewards.PromptAlignment(
        language_model=language_model,
    ),
    optimizer=synalinks.optimizers.RandomFewShot(),
)
Source code in synalinks/src/rewards/rubric_rewards.py
@synalinks_export(["synalinks.PromptAlignment", "synalinks.rewards.PromptAlignment"])
class PromptAlignment(RubricsAsJudge):
    """Judge whether an answer follows instructions and constraints.

    Example:

    ```python
    program.compile(
        reward=synalinks.rewards.PromptAlignment(
            language_model=language_model,
        ),
        optimizer=synalinks.optimizers.RandomFewShot(),
    )
    ```
    """

    def __init__(
        self,
        language_model=None,
        prompt_template=None,
        examples=None,
        instructions=None,
        score_type=None,
        reduction="mean",
        name="prompt_alignment",
        in_mask=None,
        out_mask=None,
        in_mask_pattern=None,
        out_mask_pattern=None,
    ):
        super().__init__(
            language_model=language_model,
            rubrics="prompt_alignment",
            prompt_template=prompt_template,
            examples=examples,
            instructions=instructions,
            score_type=score_type,
            reduction=reduction,
            name=name,
            in_mask=in_mask,
            out_mask=out_mask,
            in_mask_pattern=in_mask_pattern,
            out_mask_pattern=out_mask_pattern,
        )