"""Experiments hold the results of an experiment against a dataset."""

# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/experiment.ipynb.

# %% auto 0
__all__ = ['Experiment']

# %% ../nbs/experiment.ipynb 2
import typing as t

from fastcore.utils import patch

from ragas_experimental.model.pydantic_model import (
    ExtendedPydanticBaseModel as BaseModel,
)
from .backends.ragas_api_client import RagasApiClient
from .dataset import Dataset

# %% ../nbs/experiment.ipynb 3
class Experiment(Dataset):
    def __init__(
        self,
        name: str,
        model: t.Type[BaseModel],
        project_id: str,
        experiment_id: str,
        ragas_api_client: RagasApiClient,
    ):
        self.experiment_id = experiment_id
        super().__init__(name, model, project_id, experiment_id, ragas_api_client)

    def __str__(self):
        return f"Experiment(name={self.name}, model={self.model.__name__})"

    __repr__ = __str__
