Source code for eval_framework.metrics.completion.accuracy_completion

from eval_framework.metrics.base import BaseMetric, MetricResult
from eval_framework.shared.types import Completion


[docs] class AccuracyCompletion(BaseMetric[Completion]): NAME = "Accuracy Completion"
[docs] def calculate(self, response: Completion) -> list[MetricResult]: if response.error is not None: return [MetricResult(metric_name=self.NAME, value=None, higher_is_better=True, error=response.error)] ground_truths = response.ground_truth_list is_correct = any(response.completion == gt for gt in ground_truths) return [ MetricResult(metric_name=self.NAME, value=float(is_correct), higher_is_better=True, error=response.error) ]