from pathlib import Path

from src.settings.metric import MetricSettings
from src.settings.base import ExtraFieldsNotAllowedBaseModel
from src.settings.pipelines.inference.base import INFERENCE_DATASETS_SETTINGS
from src.settings.pipelines.inference.chat import ChatSingleModelInferenceSettings


class MetricsSettings(ExtraFieldsNotAllowedBaseModel):
    inference_settings: ChatSingleModelInferenceSettings
    metric_settings: list[MetricSettings] = []

    dataset_settings: INFERENCE_DATASETS_SETTINGS
    save_path: Path
