ai-interview-system / models.py
sugitora
AI面接システム - 初回リリース (Streamlit + Claude API)
6d1fe52
raw
history blame contribute delete
927 Bytes
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