@synalinks_export(["synalinks.StepEfficiency", "synalinks.rewards.StepEfficiency"])
class StepEfficiency(RubricsAsJudge):
"""Judge whether an agent reaches the goal efficiently.
Example:
```python
program.compile(
reward=synalinks.rewards.StepEfficiency(
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="step_efficiency",
in_mask=None,
out_mask=None,
in_mask_pattern=None,
out_mask_pattern=None,
):
super().__init__(
language_model=language_model,
rubrics="step_efficiency",
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,
)