from pydantic import BaseModel class EvalConfig(BaseModel): job_id: str test_split_ratio: float = 0.1 batch_size: int = 4 metrics: list[str] = ["perplexity", "loss"] class EvalResult(BaseModel): id: str job_id: str status: str = "pending" # pending|running|completed|failed progress: float = 0.0 metrics: dict = {} error: str | None = None created_at: str = ""