Source code for eval_framework.metrics.loglikelihood.bpb_variants

"""Extended bits-per-byte for loglikelihood responses.

Emits the standard ``BitsPerByte`` ratio, corpus-aggregation fields, and prefix
BPB when per-token logprobs exist.
"""

from eval_framework.metrics.base import BaseMetric, MetricResult
from eval_framework.metrics.loglikelihood.bpb_variants_common import compute_all_bpb_results
from eval_framework.shared.types import Loglikelihood


[docs] class BitsPerByteVariantsLoglikelihood(BaseMetric[Loglikelihood]): """Standard BPB plus prefix, prior, and corpus companion fields.""" NAME = "BitsPerByteVariants"
[docs] def calculate(self, response: Loglikelihood) -> list[MetricResult]: return compute_all_bpb_results(response)