This enterprise-grade application leverages Large Language Models (LLMs) with LangGraph to automate and streamline the recruitment process. The system analyzes candidate applications against job requirements, categorizes applicants based on experience level, and generates contextually appropriate response communications.
- Experience Classification Engine: Accurately categorizes candidates as Entry, Mid, or Senior level based on comprehensive profile analysis
- Advanced Skill Matching Algorithm: Performs detailed evaluation of candidate qualifications against position requirements
- Intelligent Response System: Generates personalized, professional communications:
- HR interview invitations for strong qualification matches
- Technical assessment invitations for candidates meeting core requirements
- Professional rejection communications for non-suitable candidates
- Streamlit Web Interface: User-friendly UI for easy application processing and results visualization
- Python 3.9+
- OpenAI API key
- Required dependencies (see Installation)
- Clone the repository:
git clone https://github.com/yourusername/RecruitIQ.git
cd RecruitIQ- Set up a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install required dependencies:
pip install -r requirements.txt- Configure environment variables by creating a
.envfile:
OPENAI_API_KEY=your_api_key_here
You can use the application in two ways:
- Start the Streamlit web application:
streamlit run ui.py-
Open your browser and navigate to the local URL shown in the terminal (typically http://localhost:8501)
-
Enter job requirements and applicant information in the provided text areas
-
Click "Process Application" to analyze the candidate and view results
Run the application via command line:
python recruiter.pyThis will process the sample job requirements and applicant data defined in the main function.
To adapt the system for specific recruitment scenarios:
- Modify the
job_requirementsandapplicant_datavariables in themain()function ofrecruiter.py - Adjust evaluation parameters in
config.pyas needed - Customize response templates for your organization's tone and branding
config.py- System configuration and state definitionsfunctions.py- Core processing functions implementing the recruitment workflow logicrecruiter.py- Main application orchestrating the workflow graphui.py- Streamlit web interface for the application
To extend functionality:
- Implement additional processing functions in
functions.py - Update the workflow graph in the
create_workflow()method - Extend the State TypedDict in
config.pyfor any additional data requirements - Enhance the UI in
ui.pyto support new features
The application implements robust error handling:
- API authentication validation
- LLM service integration monitoring
- Response format validation
- Comprehensive workflow execution logging
For high-volume recruitment scenarios, consider:
- Implementing batch processing for multiple applications
- Caching common job requirement analyses
- Optimizing LLM prompt engineering for cost efficiency