Contains¶
- class opik.evaluation.metrics.Contains(case_sensitive: bool = False, name: str = 'contains_metric', track: bool = True)¶
Bases:
BaseMetric
A metric that checks if a reference string is contained within an output string.
This metric returns a score of 1.0 if the reference string is found within the output string, and 0.0 otherwise. The comparison can be made case-sensitive or case-insensitive.
- Parameters:
case_sensitive – Whether the comparison should be case-sensitive. Defaults to False.
name – The name of the metric. Defaults to “contains_metric”.
track – Whether to track the metric. Defaults to True.
Example
>>> from opik.evaluation.metrics import Contains >>> contains_metric = Contains(case_sensitive=True) >>> result = contains_metric.score("Hello, World!", "World") >>> print(result.value) 1.0 >>> result = contains_metric.score("Hello, World!", "world") >>> print(result.value) 0.0
- score(output: str, reference: str, **ignored_kwargs: Any) ScoreResult ¶
Calculate the score based on whether the reference string is contained in the output string.
- Parameters:
output – The output string to check.
reference – The reference string to look for in the output.
**ignored_kwargs – Additional keyword arguments that are ignored.
- Returns:
- A ScoreResult object with a value of 1.0 if the reference
is found in the output, 0.0 otherwise.
- Return type:
score_result.ScoreResult
- async ascore(*args: Any, **kwargs: Any) ScoreResult | List[ScoreResult] ¶
Async public method that can be called independently.