@synalinks_export(
[
"synalinks.CitationFaithfulness",
"synalinks.rewards.CitationFaithfulness",
]
)
class CitationFaithfulness(RubricsAsJudge):
"""Judge whether citations support the claims they cite.
Example:
```python
program.compile(
reward=synalinks.rewards.CitationFaithfulness(
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="citation_faithfulness",
in_mask=None,
out_mask=None,
in_mask_pattern=None,
out_mask_pattern=None,
):
super().__init__(
language_model=language_model,
rubrics="citation_faithfulness",
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,
)