taagarwa's picture
✨ Add new/updated metrics
be7275a
from typing import Any, Optional
from pydantic import BaseModel
class Dataset(BaseModel):
name: str
repo: str
num_tasks: int
url: str
class Harness(BaseModel):
name: str
skills: list[str]
is_oss: bool
url: str
class Model(BaseModel):
name: str
repo: str | None = None
is_oss: bool
num_params: int
precision: str
url: str
class Environment(BaseModel):
name: str
config: Optional[dict[str, Any]] = None
url: str
class Metrics(BaseModel):
score: float
n_tasks: Optional[int] = None
n_errors: Optional[int] = None
n_input_tokens: Optional[int] = None
n_cache_tokens: Optional[int] = None
n_output_tokens: Optional[int] = None
n_total_tokens: Optional[int] = None
time_seconds: Optional[int] = None
cost_usd: Optional[float] = None
mean_input_tokens_per_task: Optional[int] = None
mean_cache_tokens_per_task: Optional[int] = None
mean_output_tokens_per_task: Optional[int] = None
mean_tokens_per_task: Optional[int] = None
mean_cost_usd_per_task: Optional[float] = None
mean_time_seconds_per_task: Optional[int] = None
class Result(BaseModel):
dataset: Dataset
harness: Harness
model: Model
environment: Environment
metrics: Metrics