from __future__ import annotations

from evalkit.metrics import AnswerRelevancyMetric, FaithfulnessMetric, HallucinationMetric
from evalkit.models import Suite
from evalkit.suites.base import EvaluationSuite


def ConversationalSuite() -> EvaluationSuite:
    """Conversational RAG evaluation suite.

    Evaluates conversational RAG: answer relevancy, faithfulness, and
    hallucination detection (no expected_answer required).
    """
    return EvaluationSuite(
        name=Suite.CONVERSATIONAL,
        description="Evaluates conversational RAG: answer relevancy, faithfulness, and hallucination detection (no expected_answer required)",
        metrics=[
            AnswerRelevancyMetric(),
            FaithfulnessMetric(),
            HallucinationMetric(),
        ],
    )
