Model integrations
| Use case | Model | Input | Output |
|---|---|---|---|
| Resume parsing | gpt-5.4-mini | Plain resume text + extraction rules (system); reference date for experience | Name, contact, location, skills, experience months, title, company, education (nullable fields) |
| Resume parsing (fallback) | gemini-2.5-flash-lite (configurable) | Same as primary | Same schema as primary |
| Interview report | gpt-4.1-mini | Role/skills context (system); candidate name, duration, resume excerpt, full transcript (user) | Recommendation, scores, summary, strengths/weaknesses, skill assessments, Q&A analysis, behavioral notes |
| Insufficient evidence report | deterministic (no LLM) | Duration & substantive-answer gates only | Fixed insufficient-evidence verdict and zero scores |
Live interview dialogue runs in the external bot (not the Sophia API); the bot PATCHes transcript and cost metrics. Resume parse does not write MongoDB until create-candidate; report generation persists one InterviewReport per interview.