from dataclasses import dataclass, field from datetime import datetime @dataclass class Question: id: int category: str question_text: str expected_keywords: list[str] keyword_weight: float ai_weight: float improv_weight: float max_score: int scoring_criteria: str follow_up: str = "" @dataclass class Answer: transcribed_text: str audio_duration_sec: float timestamp: datetime = field(default_factory=datetime.now) @dataclass class QuestionResult: question: Question answer: Answer keyword_hits: list[str] keyword_score: float ai_content_score: float improvisation_score: float total_score: float ai_feedback: str @dataclass class InterviewReport: candidate_name: str interview_date: datetime results: list[QuestionResult] total_score: float max_possible_score: float pass_threshold: float is_passed: bool