"""Answer similarity suite — deterministic text comparison metrics."""

from __future__ import annotations

from evalkit.metrics.exact_match import ExactMatchMetric
from evalkit.metrics.string_containment import StringContainmentMetric
from evalkit.metrics.string_similarity import StringSimilarityMetric
from evalkit.models import Suite
from evalkit.suites.base import EvaluationSuite


def AnswerSimilaritySuite() -> EvaluationSuite:
    return EvaluationSuite(
        name=Suite.ANSWER_SIMILARITY,
        description="Deterministic text comparison: exact match, containment, and edit distance similarity. No LLM judge needed.",
        metrics=[
            ExactMatchMetric(),
            StringContainmentMetric(),
            StringSimilarityMetric(),
        ],
        requires_judge=False,
    )
