File size: 1,022 Bytes
d954568
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"""Canonical question record for TemporalBench MCQ episodes."""

from __future__ import annotations

from typing import Any

from pydantic import BaseModel, Field


class TSQuestion(BaseModel):
    """One MCQ item from a pre-built question bank."""

    question_id: str = Field(..., description="Unique identifier")
    dataset: str = Field(
        ...,
        description="Source dataset, e.g. PSML, freshretailnet, MIMIC, causal_chambers",
    )
    task_type: str = Field(..., description="T1U | T3 | T2_MCQ")
    family: str | None = Field(default=None, description="T3 family, e.g. S1:A")
    prompt: str = Field(..., description="Full question text with context")
    options: list[str] = Field(..., min_length=2, description="Answer choices")
    answer: str = Field(..., description="Ground-truth label (matches one option after normalize)")
    capability_tags: list[str] = Field(default_factory=list)
    difficulty: str | None = Field(default=None)
    metadata: dict[str, Any] = Field(default_factory=dict)