Spaces:
Sleeping
Sleeping
Update README.md
Browse files
README.md
CHANGED
@@ -12,104 +12,150 @@ short_description: This agent simulates a full-service recruitment team .
|
|
12 |
license: mit
|
13 |
---
|
14 |
|
15 |
-
#
|
16 |
|
17 |
-
A Streamlit application
|
18 |
|
19 |
-
|
|
|
|
|
20 |
|
21 |
-
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
|
|
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
- Integrated feedback system
|
35 |
|
36 |
-
|
37 |
|
38 |
-
|
39 |
-
- Enable 2-Step Verification and generate an App Password for the Gmail account
|
40 |
-
- The App Password is a 16 digit code (use without spaces) that should be generated here - [Google App Password](https://support.google.com/accounts/answer/185833?hl=en) Please go through the steps to generate the password - it will of the format - 'afec wejf awoj fwrv' (remove the spaces and enter it in the streamlit app)
|
41 |
-
- Create/ Use a Zoom account and go to the Zoom App Marketplace to get the API credentials :
|
42 |
-
[Zoom Marketplace](https://marketplace.zoom.us)
|
43 |
-
- Go to Developer Dashboard and create a new app - Select Server to Server OAuth and get the credentials, You see 3 credentials - Client ID, Client Secret and Account ID
|
44 |
-
- After that, you need to add a few scopes to the app - so that the zoom link of the candidate is sent and created through the mail.
|
45 |
-
- The Scopes are meeting:write:invite_links:admin, meeting:write:meeting:admin, meeting:write:meeting:master, meeting:write:invite_links:master, meeting:write:open_app:admin, user:read:email:admin, user:read:list_users:admin, billing:read:user_entitlement:admin, dashboard:read:list_meeting_participants:admin [last 3 are optional]
|
46 |
|
47 |
-
|
48 |
|
49 |
-
|
50 |
-
```bash
|
51 |
-
# Clone the repository
|
52 |
-
Clone this repo.
|
53 |
-
cd advanced_ai_agents/multi_agent_apps/agent_teams/ai_recruitment_agent_team
|
54 |
-
|
55 |
-
# Install dependencies
|
56 |
-
pip install -r requirements.txt
|
57 |
-
```
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
```
|
68 |
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
- Technical assessment
|
75 |
-
- Selection decision making
|
76 |
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
|
|
94 |
|
95 |
-
|
96 |
|
97 |
-
|
98 |
-
- **Model**: OpenAI GPT-4o
|
99 |
-
- **Integration**: Zoom API, EmailTools Tool from Phidata
|
100 |
-
- **PDF Processing**: PyPDF2
|
101 |
-
- **Time Management**: pytz
|
102 |
-
- **State Management**: Streamlit Session State
|
103 |
|
|
|
104 |
|
105 |
-
|
106 |
|
107 |
-
|
108 |
|
109 |
-
|
|
|
|
|
|
|
|
|
110 |
|
111 |
-
|
112 |
-
- Advanced candidate scoring
|
113 |
-
- Video interview capabilities
|
114 |
-
- Skills assessment integration
|
115 |
-
- Multi-language support
|
|
|
12 |
license: mit
|
13 |
---
|
14 |
|
15 |
+
# AI Recruitment Agent
|
16 |
|
17 |
+
A Streamlit-based application designed to simulate a full-service recruitment team through a suite of collaborative AI agents. These agents specialize in various stages of the hiring process—from resume screening and candidate evaluation to professional communication and interview coordination—working in unison to automate and optimize recruitment workflows.
|
18 |
|
19 |
+
---
|
20 |
+
|
21 |
+
## 🚀 Key Features
|
22 |
|
23 |
+
### 🤖 Specialized AI Agents
|
24 |
|
25 |
+
* **Technical Recruiter Agent**: Assesses resumes and evaluates technical competencies.
|
26 |
+
* **Communication Agent**: Manages professional candidate correspondence via email.
|
27 |
+
* **Scheduling Agent**: Coordinates interview scheduling across time zones.
|
28 |
+
* All agents operate collaboratively to deliver a holistic recruitment experience.
|
29 |
|
30 |
+
### 🔄 End-to-End Automation
|
31 |
|
32 |
+
* Intelligent resume screening and analysis.
|
33 |
+
* Tailored technical skill evaluation for each role.
|
34 |
+
* Automated and professional email communication.
|
35 |
+
* Smart interview scheduling with calendar integration.
|
36 |
+
* Feedback and status updates for both recruiters and candidates.
|
|
|
37 |
|
38 |
+
---
|
39 |
|
40 |
+
## 🔧 Pre-Setup Instructions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
+
Before launching the app, follow these essential setup steps:
|
43 |
|
44 |
+
### 📧 Gmail Configuration
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
|
46 |
+
1. Use a dedicated Gmail account for recruitment purposes.
|
47 |
+
2. Enable 2-Step Verification on the account.
|
48 |
+
3. Generate a 16-character App Password here: [Generate App Password](https://support.google.com/accounts/answer/185833?hl=en)
|
49 |
+
*(Use the code without spaces, e.g., `afecwejfawojfwrv`)*
|
50 |
|
51 |
+
### 🎥 Zoom API Configuration
|
52 |
+
|
53 |
+
1. Sign in to the [Zoom App Marketplace](https://marketplace.zoom.us).
|
54 |
+
2. Navigate to the Developer Dashboard and create a new **Server-to-Server OAuth** app.
|
55 |
+
3. Obtain the following credentials:
|
56 |
+
|
57 |
+
* Client ID
|
58 |
+
* Client Secret
|
59 |
+
* Account ID
|
60 |
+
4. Add the following scopes:
|
61 |
+
|
62 |
+
```
|
63 |
+
meeting:write:invite_links:admin
|
64 |
+
meeting:write:meeting:admin
|
65 |
+
meeting:write:meeting:master
|
66 |
+
meeting:write:invite_links:master
|
67 |
+
meeting:write:open_app:admin
|
68 |
+
user:read:email:admin
|
69 |
+
user:read:list_users:admin
|
70 |
+
billing:read:user_entitlement:admin *(optional)*
|
71 |
+
dashboard:read:list_meeting_participants:admin *(optional)*
|
72 |
```
|
73 |
|
74 |
+
---
|
75 |
+
|
76 |
+
## 🧪 Running the Application
|
77 |
+
|
78 |
+
### 1. Environment Setup
|
79 |
+
|
80 |
+
```bash
|
81 |
+
# Clone the repository
|
82 |
+
git clone https://github.com/amanraghuvanshi/AI-Recruitment-Agent.git
|
83 |
+
cd folder/ai_recruitment_agent_team
|
84 |
+
|
85 |
+
# Install required packages
|
86 |
+
pip install -r requirements.txt
|
87 |
+
```
|
88 |
+
|
89 |
+
### 2. Configure API Keys
|
90 |
+
|
91 |
+
* OpenAI API Key (GPT-4o)
|
92 |
+
* Zoom API Credentials (Client ID, Client Secret, Account ID)
|
93 |
+
* Gmail App Password for recruiter email
|
94 |
+
|
95 |
+
### 3. Launch the App
|
96 |
|
97 |
+
```bash
|
98 |
+
streamlit run ai_recruitment_agent_team.py
|
99 |
+
```
|
|
|
|
|
100 |
|
101 |
+
---
|
102 |
+
|
103 |
+
## 🧠 System Architecture
|
104 |
+
|
105 |
+
### 📄 Resume Analyzer Agent
|
106 |
+
|
107 |
+
* Matches skills against job requirements
|
108 |
+
* Verifies experience and background
|
109 |
+
* Conducts preliminary technical evaluation
|
110 |
+
* Aids in shortlisting candidates
|
111 |
+
|
112 |
+
### 📧 Email Communication Agent
|
113 |
+
|
114 |
+
* Crafts professional emails automatically
|
115 |
+
* Sends notifications and updates
|
116 |
+
* Handles follow-ups and feedback sharing
|
117 |
+
|
118 |
+
### 📅 Interview Scheduler Agent
|
119 |
+
|
120 |
+
* Creates and manages Zoom meeting links
|
121 |
+
* Integrates with calendar APIs
|
122 |
+
* Adjusts for time zones
|
123 |
+
* Sends timely reminders
|
124 |
|
125 |
+
---
|
126 |
+
|
127 |
+
## 👤 Candidate-Centric Experience
|
128 |
+
|
129 |
+
* Easy-to-use resume upload interface
|
130 |
+
* Real-time status updates
|
131 |
+
* Transparent communication process
|
132 |
+
* Efficient and seamless interaction
|
133 |
+
|
134 |
+
---
|
135 |
+
|
136 |
+
## 🛠 Tech Stack
|
137 |
|
138 |
+
* **Framework**: Phidata
|
139 |
+
* **LLM Model**: OpenAI GPT-4o
|
140 |
+
* **APIs**: Zoom, Gmail (via EmailTools from Phidata)
|
141 |
+
* **Resume Parsing**: PyPDF2
|
142 |
+
* **Time Management**: pytz
|
143 |
+
* **UI State**: Streamlit Session State
|
144 |
|
145 |
+
---
|
146 |
|
147 |
+
## ⚠️ Disclaimer
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
+
This application is intended to assist and enhance the recruitment process. Automated decisions should always be reviewed and validated by human recruiters before finalizing any hiring decision.
|
150 |
|
151 |
+
---
|
152 |
|
153 |
+
## 🔮 Future Roadmap
|
154 |
|
155 |
+
* Integration with Applicant Tracking Systems (ATS)
|
156 |
+
* More advanced and customizable candidate scoring models
|
157 |
+
* Support for video interviews and recording
|
158 |
+
* Embedded technical and behavioral assessments
|
159 |
+
* Multi-language support for global recruitment
|
160 |
|
161 |
+
---
|
|
|
|
|
|
|
|