@synalinks_export(["synalinks.RoleViolation", "synalinks.rewards.RoleViolation"])
class RoleViolation(RubricsAsJudge):
"""Judge whether the assistant avoids role violations.
Example:
```python
program.compile(
reward=synalinks.rewards.RoleViolation(
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="role_violation",
in_mask=None,
out_mask=None,
in_mask_pattern=None,
out_mask_pattern=None,
):
super().__init__(
language_model=language_model,
rubrics="role_violation",
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,
)