import json from pathlib import Path from pydantic import BaseModel, Field TEST_FILE = str(Path(__file__).parent / "tests.jsonl") class TestQuestion(BaseModel): """A test question with expected keywords and reference answer.""" question: str = Field(description="The question to ask the RAG system") keywords: list[str] = Field(description="Keywords that must appear in retrieved context") reference_answer: str = Field(description="The reference answer for this question") category: str = Field(description="Question category (e.g., direct_fact, spanning, temporal)") def load_tests() -> list[TestQuestion]: """Load test questions from JSONL file.""" tests = [] with open(TEST_FILE, "r", encoding="utf-8") as f: for line in f: data = json.loads(line.strip()) tests.append(TestQuestion(**data)) return tests