sunithalv commited on
Commit
58c033f
Β·
2 Parent(s): 3341e2f dada799

Merge branch 'main' of https://github.com/sunithalv/ATS-Crewai

Browse files
Files changed (1) hide show
  1. README.md +54 -46
README.md CHANGED
@@ -1,63 +1,71 @@
1
- # ATS-Crewai
2
-
3
- Welcome to the ATS Flow project, powered by [crewAI](https://crewai.com). This example demonstrates how you can leverage Flows from crewAI to automate the process of scoring leads, including data collection, analysis, and scoring. By utilizing Flows, the process becomes much simpler and more efficient.
4
-
5
- ## Overview
6
-
7
- This flow will guide you through the process of setting up an automated lead scoring system. Here's a brief overview of what will happen in this flow:
8
-
9
- 1. **Load Leads**: The flow starts by loading job description and the multiple resumes of the candidates.
10
-
11
- 2. **Score Leads**: The `ATS-CrewAI` is kicked off to score the loaded leads based on predefined criteria.
12
-
13
- 3. **Human in the Loop**: The top 3 candidates are presented for human review, allowing for additional feedback or proceeding with writing emails.
14
-
15
- 4. **Write and Save Emails**: Emails are generated and saved for all leads.
16
-
17
- By following this flow, you can efficiently automate the process of scoring leads, leveraging the power of multiple AI agents to handle different aspects of the lead scoring workflow.
18
-
19
- ## Installation
20
-
21
- Ensure you have Python >=3.10 <=3.13 installed on your system. First, if you haven't already, install CrewAI:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
  ```bash
24
- pip install crewai
25
- ```
26
-
27
- Next, navigate to your project directory and install the dependencies:
28
-
29
- 1. First lock the dependencies and then install them:
30
 
31
- ```bash
32
- crewai install
 
33
  ```
34
 
35
- ### Customizing & Dependencies
36
 
37
- **Add your `OPENAI_API_KEY` into the `.env` file**
38
- **Add your `SERPER_API_KEY` into the `.env` file**
39
 
 
40
 
41
- ## Running the Project
42
 
43
- ### Run the Flow
44
 
45
- To kickstart your crew of AI agents and begin task execution, run this from the root folder of your project:
46
 
47
- ```bash
48
- crewai run
49
  ```
50
- ```bash
51
- uv run kickoff
52
- ```
53
- ### Plot the Flow
54
-
55
- ```bash
56
- uv run plot
57
  ```
58
 
59
- This command initializes the lead_score_flow, assembling the agents and assigning them tasks as defined in your configuration.
 
60
 
61
- When you kickstart the flow, it will orchestrate multiple crews to perform the tasks. The flow will first collect lead data, then analyze the data, score the leads and generate email drafts.
62
 
 
 
 
 
 
63
 
 
1
+ # CrewAI ATS Resume Screener & Rewriter
2
+
3
+ An AI-driven system built using CrewAI to streamline both employer-side candidate screening and candidate-side resume optimization for Applicant Tracking Systems (ATS).
4
+
5
+ ## πŸ”§ Features
6
+
7
+ ### πŸ‘” Employer Mode
8
+ - Upload a **job description** and **multiple resumes**.
9
+ - Automatically **score resumes** based on relevance.
10
+ - **Top 3 candidates** receive personalized interview invitation emails.
11
+ - Remaining candidates receive **personalized rejection emails**.
12
+ - All emails are customized based on resume and job context.
13
+
14
+ ### πŸ‘€ Candidate Mode
15
+ Two available options:
16
+ 1. **ATS Resume Score Check**:
17
+ - Enter a **job URL** to evaluate your resume.
18
+ - Get a **personalized score** with actionable feedback.
19
+
20
+ 2. **Resume Rewriting**:
21
+ - Optional: Provide a **job URL** for targeted optimization.
22
+ - Resume is rewritten **only if the score < 85**.
23
+ - Supports up to **2 rewrite attempts**.
24
+ - Returns final score and **detailed feedback**.
25
+
26
+ ## πŸš€ Tech Stack
27
+ - **Python 3.11**
28
+ - [CrewAI](https://github.com/joaomdmoura/crewai)
29
+ - LangChain Tools
30
+ - Gmail SMTP (secured with App Passwords)
31
+ - PyMuPDF, spaCy, NLTK
32
+ - Streamlit (for UI)
33
+ - ONNX Runtime for model inference
34
+
35
+ ## πŸ“¦ Installation
36
 
37
  ```bash
38
+ git clone https://github.com/sunithalv/ATS-Crewai.git
 
 
 
 
 
39
 
40
+ # Install dependencies using uv
41
+ uv venv # creates a virtual environment and activates it
42
+ uv pip install -r requirements.txt
43
  ```
44
 
45
+ > Note: Python version must be >= 3.11 and < 3.12
46
 
 
 
47
 
48
+ ## πŸ“§ Gmail Integration
49
 
50
+ This project sends emails using Gmail's SMTP server. You'll need to configure your environment with the following variables:
51
 
52
+ ### πŸ” Environment Setup
53
 
54
+ Create a `.env` file in the root directory with:
55
 
 
 
56
  ```
57
+ EMAIL_ADDRESS=your-email@gmail.com
58
+ EMAIL_PASSWORD=your-app-password
 
 
 
 
 
59
  ```
60
 
61
+ > ⚠️ **Important**: You must use a **Gmail App Password** if you have 2-Step Verification enabled.
62
+ > Learn how to generate one: [Google App Passwords](https://support.google.com/accounts/answer/185833)
63
 
64
+ ### βœ‰οΈ Sending Emails
65
 
66
+ - Emails are sent using **SMTP** via `smtp.gmail.com` on port `587`.
67
+ - Each message is read from a `.txt` file where:
68
+ - The **first line** must start with `Subject:`
69
+ - The **remaining lines** form the email body.
70
+ - Emails are sent individually with **personalized content** for each recipient.
71