A sophisticated AI-powered mock interview system that uses 4 specialized agents to conduct realistic technical interviews. The system follows a router/orchestrator architecture pattern where agents work together to provide comprehensive interview experiences.

2025-09-30.12-07-36.mp4
- InterviewerAgent: Generates contextual questions based on resume, job description, and current topic
- TopicManagerAgent: Controls topic flow and interview depth throughout the session
- EvaluatorAgent: Evaluates candidate responses in real-time with detailed feedback
- OrchestratorAgent: Coordinates all agents and manages the overall interview flow
Query + User Input -> Router/Orchestrator -> Specialized Agents
|
InterviewerAgent (Questions)
TopicManagerAgent (Topic Control)
EvaluatorAgent (Evaluation)
- Contextual Question Generation: Questions are tailored to the candidate's resume and job requirements
- Dynamic Topic Management: System adapts interview topics and depth based on candidate performance
- Real-time Evaluation: Immediate feedback and scoring for candidate responses
- Intelligent Orchestration: Seamless coordination between all agents
- Interactive Interface: User-friendly command-line interface
- Configurable Parameters: Customizable interview settings and agent behavior
- Python 3.10+
- OpenAI API key
- Required Python packages (see requirements.txt)
Run the main interview system:
python main.py
Available commands:
start
- Start a new interviewanswer <response>
- Answer the current questionstatus
- Check interview statusend
- End the current interviewhelp
- Show help informationquit
- Exit the program
finalround-assignment/
|-- main.py # Main entry point with interactive interface
|-- agents.py # Core agent implementations
|-- interview_system.py # Router/orchestrator system
|-- config.py # Configuration settings
|-- demo.py # Demo script
|-- sample_resume.txt # Sample candidate resume
|-- sample_job_description.txt # Sample job description
|-- requirements.txt # Python dependencies
|-- pyproject.toml # Project configuration
The system can be configured through environment variables:
OPENAI_API_KEY
: Your OpenAI API key (required)OPENAI_MODEL
: OpenAI model to use (default: gpt-3.5-turbo)MAX_INTERVIEW_ROUNDS
: Maximum interview rounds (default: 5)DEFAULT_INTERVIEW_DEPTH
: Default interview depth (default: 2)INTERVIEWER_TEMPERATURE
: Temperature for question generation (default: 0.7)TOPIC_MANAGER_TEMPERATURE
: Temperature for topic management (default: 0.3)EVALUATOR_TEMPERATURE
: Temperature for evaluation (default: 0.2)
- Generates contextual questions based on resume and job description
- Adapts question difficulty based on interview depth
- Avoids repeating previously asked questions
- Focuses on job-relevant technical skills
- Manages interview topic progression
- Adjusts interview depth based on candidate performance
- Ensures comprehensive coverage of job requirements
- Balances technical and behavioral questions
- Provides real-time evaluation of candidate responses
- Scores responses on a 1-10 scale
- Offers detailed feedback and improvement suggestions
- Considers technical accuracy, communication, and relevance
- Coordinates all other agents
- Manages interview session state
- Handles the overall interview flow
- Provides session summaries and progress tracking
The system covers various interview topics:
- Technical Skills: Programming languages, frameworks, tools
- Problem Solving: Algorithm design, debugging, optimization
- System Design: Architecture, scalability, performance
- Leadership/Management: Team leadership, mentoring, project management
- Behavioral: Past experiences, conflict resolution, growth mindset
- Company Culture Fit: Values alignment, work style, collaboration
-
Start an interview:
> start
-
Answer questions:
> answer I have 5+ years of Python experience with Django and Flask frameworks...
-
Check status:
> status
-
End interview:
> end
The system includes sample data files:
- sample_resume.txt: Contains a sample software engineer resume
- sample_job_description.txt: Contains a sample senior Python developer job description
You can replace these with your own resume and job description files.
- Built with LangChain and OpenAI
- Implements multi-agent architecture patterns
- Designed for realistic interview simulation