A multi-agent recruitment assistant that leverages Microsoft AutoGen framework to streamline hiring processes. The system employs specialized AI agents working in concert to automate resume screening, candidate evaluation, and interview preparation.
This application uses multiple AI agents to automate different aspects of the recruitment process:
- Screening resumes against job descriptions
- Extracting and managing candidate data
- Generating relevant interview questions based on identified skill gaps
- Automated Resume Screening: Analyzes resumes (PDF format) against job descriptions using keyword matching and AI evaluation
- Smart Data Extraction: Automatically extracts candidate information including name, email, and phone number
- Interview Question Generation: Creates targeted interview questions based on identified skill gaps
- Data Management: Saves candidate information and screening results to a structured CSV database
- Multi-Agent System:
- Screening Agent: Evaluates resumes against job descriptions using keyword matching
- Interview Agent: Generates interview questions based on identified skill gaps
- Data Management Agent: Saves candidate information and screening results to a structured CSV database
- User Proxy Agent: Manages the overall flow of the application
- Python 3.x
- AutoGen framework for multi-agent AI interactions
- GPT-4o-mini for natural language processing
- spaCy for text processing
- PDF handling: pdfplumber
- DOCX handling: docx2txt
- Clone the repository:
git clone https://github.com/yourusername/ai-recruitment-assistant.git
cd ai-recruitment-assistant
pip install -r requirements.txt
python -m spacy download en_core_web_sm
- Create a
.env
file in the root directory with your OpenAI API key:
OPENAI_API_KEY=your_openai_api_key
- Place the candidate's resume in PDF format in the
assets/CV-English.pdf
file - Add the job description in the
assets/job_description.txt
file - Run the application:
python app.py
The application will:
- Screen the resume against the job description
- Extract and save candidate information
- Use keyword matching for the initial screening
- Generate relevant interview questions, based on the identified skill gaps
- Output results to console and save to CSV
(assets/candidate_data.csv)
app.py
: Main application fileassets/
: Directory for input files (resume, job description)config/
: Configuration files for agentsutils/
: Utility functions
- Built with AutoGen
- Uses OpenAI's GPT-4o-mini for agent orchestration, text generation and function calling.