types
types
¶
Core data types for the evaluation framework.
Classes¶
EvalRecord
dataclass
¶
EvalRecord(
record_id: str,
problem: str,
reference: str,
category: str,
subject: str = "",
metadata: Dict[str, Any] = dict(),
)
A single evaluation sample.
EvalResult
dataclass
¶
EvalResult(
record_id: str,
model_answer: str,
is_correct: Optional[bool] = None,
score: Optional[float] = None,
latency_seconds: float = 0.0,
prompt_tokens: int = 0,
completion_tokens: int = 0,
cost_usd: float = 0.0,
error: Optional[str] = None,
scoring_metadata: Dict[str, Any] = dict(),
ttft: float = 0.0,
energy_joules: float = 0.0,
power_watts: float = 0.0,
gpu_utilization_pct: float = 0.0,
throughput_tok_per_sec: float = 0.0,
mfu_pct: float = 0.0,
mbu_pct: float = 0.0,
ipw: float = 0.0,
ipj: float = 0.0,
energy_per_output_token_joules: float = 0.0,
throughput_per_watt: float = 0.0,
mean_itl_ms: float = 0.0,
estimated_flops: float = 0.0,
trace_steps: int = 0,
trace_energy_joules: float = 0.0,
trace_data: Optional[Dict[str, Any]] = None,
framework: str = "diapason",
framework_commit: str = "",
tool_calls: int = 0,
turn_count: int = 0,
)
Result of evaluating a single sample.
RunConfig
dataclass
¶
RunConfig(
benchmark: str,
backend: str,
model: str,
max_samples: Optional[int] = None,
max_workers: int = 4,
temperature: float = 0.0,
max_tokens: int = 2048,
judge_model: str = "gpt-5-mini-2025-08-07",
judge_engine: str = "cloud",
engine_key: Optional[str] = None,
agent_name: Optional[str] = None,
tools: List[str] = list(),
output_path: Optional[str] = None,
seed: int = 42,
dataset_split: Optional[str] = None,
telemetry: bool = False,
gpu_metrics: bool = False,
metadata: Dict[str, Any] = dict(),
warmup_samples: int = 0,
wandb_project: str = "",
wandb_entity: str = "",
wandb_tags: str = "",
wandb_group: str = "",
sheets_spreadsheet_id: str = "",
sheets_worksheet: str = "Results",
sheets_credentials_path: str = "",
system_prompt: str = "",
episode_mode: bool = False,
dataset_subset: Optional[str] = None,
max_turns: Optional[int] = None,
base_url: Optional[str] = None,
api_key: Optional[str] = None,
record_ids: Optional[List[str]] = None,
global_agent_timeout_sec: Optional[float] = None,
global_timeout_multiplier: Optional[float] = None,
)
Configuration for an evaluation run.
MetricStats
dataclass
¶
MetricStats(
mean: float = 0.0,
median: float = 0.0,
min: float = 0.0,
max: float = 0.0,
std: float = 0.0,
p90: float = 0.0,
p95: float = 0.0,
p99: float = 0.0,
)
Descriptive statistics for a single metric across samples.
RunSummary
dataclass
¶
RunSummary(
benchmark: str,
category: str,
backend: str,
model: str,
total_samples: int,
scored_samples: int,
correct: int,
accuracy: float,
errors: int,
mean_latency_seconds: float,
total_cost_usd: float,
per_subject: Dict[str, Dict[str, float]] = dict(),
started_at: float = 0.0,
ended_at: float = 0.0,
accuracy_stats: Optional[MetricStats] = None,
latency_stats: Optional[MetricStats] = None,
ttft_stats: Optional[MetricStats] = None,
energy_stats: Optional[MetricStats] = None,
power_stats: Optional[MetricStats] = None,
gpu_utilization_stats: Optional[MetricStats] = None,
throughput_stats: Optional[MetricStats] = None,
mfu_stats: Optional[MetricStats] = None,
mbu_stats: Optional[MetricStats] = None,
ipw_stats: Optional[MetricStats] = None,
ipj_stats: Optional[MetricStats] = None,
energy_per_output_token_stats: Optional[
MetricStats
] = None,
throughput_per_watt_stats: Optional[MetricStats] = None,
itl_stats: Optional[MetricStats] = None,
input_token_stats: Optional[MetricStats] = None,
output_token_stats: Optional[MetricStats] = None,
total_energy_joules: float = 0.0,
total_estimated_flops: float = 0.0,
flops_stats: Optional[MetricStats] = None,
warmup_samples_excluded: int = 0,
steady_state_reached: bool = False,
energy_method: str = "",
avg_power_watts: float = 0.0,
total_input_tokens: int = 0,
total_output_tokens: int = 0,
trace_step_type_stats: Dict[
str, Dict[str, float]
] = dict(),
efficiency: Optional[Dict[str, Any]] = None,
normalized_statistics: Optional[Dict[str, Any]] = None,
normalized_efficiency: Optional[Dict[str, Any]] = None,
mean_continuous_score: Optional[float] = None,
median_continuous_score: Optional[float] = None,
pct_above_0_5: Optional[float] = None,
pct_above_0_7: Optional[float] = None,
pct_above_0_8: Optional[float] = None,
pct_above_0_9: Optional[float] = None,
_output_path: Optional[Path] = None,
_traces_dir: Optional[Path] = None,
)
Summary statistics for a completed evaluation run.
DefaultsConfig
dataclass
¶
Default generation parameters applied to all runs.
JudgeConfig
dataclass
¶
JudgeConfig(
model: str = "gpt-5-mini-2025-08-07",
engine: Optional[str] = None,
provider: Optional[str] = None,
temperature: float = 0.0,
max_tokens: int = 1024,
)
Configuration for the LLM judge.
ExecutionConfig
dataclass
¶
ExecutionConfig(
max_workers: int = 4,
output_dir: str = "results/",
seed: int = 42,
telemetry: bool = False,
gpu_metrics: bool = False,
warmup_samples: int = 0,
energy_vendor: str = "",
wandb_project: str = "",
wandb_entity: str = "",
wandb_tags: str = "",
wandb_group: str = "",
sheets_spreadsheet_id: str = "",
sheets_worksheet: str = "Results",
sheets_credentials_path: str = "",
max_turns: Optional[int] = None,
global_agent_timeout_sec: Optional[float] = None,
global_timeout_multiplier: Optional[float] = None,
)
Execution-level settings for the eval run.
ModelConfig
dataclass
¶
ModelConfig(
name: str = "",
engine: Optional[str] = None,
provider: Optional[str] = None,
temperature: Optional[float] = None,
max_tokens: Optional[int] = None,
param_count_b: float = 0.0,
active_params_b: Optional[float] = None,
gpu_peak_tflops: float = 0.0,
gpu_peak_bandwidth_gb_s: float = 0.0,
num_gpus: int = 1,
)
Configuration for a single model in the eval suite.
BenchmarkConfig
dataclass
¶
BenchmarkConfig(
name: str = "",
backend: str = "diapason-direct",
max_samples: Optional[int] = None,
split: Optional[str] = None,
agent: Optional[str] = None,
tools: List[str] = list(),
judge_model: Optional[str] = None,
temperature: Optional[float] = None,
max_tokens: Optional[int] = None,
subset: Optional[str] = None,
record_ids: Optional[List[str]] = None,
global_agent_timeout_sec: Optional[float] = None,
global_timeout_multiplier: Optional[float] = None,
)
Configuration for a single benchmark in the eval suite.
EvalSuiteConfig
dataclass
¶
EvalSuiteConfig(
meta: MetaConfig = MetaConfig(),
defaults: DefaultsConfig = DefaultsConfig(),
judge: JudgeConfig = JudgeConfig(),
run: ExecutionConfig = ExecutionConfig(),
models: List[ModelConfig] = list(),
benchmarks: List[BenchmarkConfig] = list(),
backend_external_base_url: Optional[str] = None,
backend_external_api_key: Optional[str] = None,
)
Top-level configuration for an eval suite (models x benchmarks).