sunithalv commited on
Commit
3ed893c
Β·
1 Parent(s): 4b3a236

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +72 -37
README.md CHANGED
@@ -1,63 +1,98 @@
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
+ This is an intelligent Applicant Tracking System (ATS) Resume Screener & Rewriter built using CrewAI and LangChain tool integrations. It serves two primary user roles: Candidate and Employer.
3
 
4
+ ## Features
5
+ ### For Candidates
6
+ #### Resume Scoring
7
+ - Provide your resume and a job posting URL.
8
+ - The system analyzes and scores your resume based on ATS alignment with the job.
9
+ #### Resume Rewriting
10
+ - Upload a resume, and optionally provide a job posting URL.
11
+ - The system identifies gaps and rewrites your resume to improve the ATS score.
12
+ - Attempts rewriting up to 2 times for optimal improvement.
13
 
14
+ ### For Employers
15
+ #### Candidate Evaluation
16
+ - Upload a job description as plain text.
17
+ - Upload multiple candidate resumes (PDF, DOCX, TXT).
18
+ - The system analyzes and ranks the top 3 best-fit candidates based on the job description.
19
+ - Automated Email Notifications
20
+ - Sends personalized emails to all candidates:
21
+ - Acceptance: Invitation for interview scheduling (top 3).
22
+ - Rejection: Polite rejection message (others).
23
 
24
+ ## Tech Stack
25
+ Built with Python using uv and the following major libraries:
26
 
27
+ πŸ€– crewai[tools] β€” Agent orchestration
28
 
29
+ 🧱 langchain-tools, crewai-tools β€” Tool abstraction for job and resume parsing
30
 
31
+ πŸ“§ google-auth-oauthlib, google-api-python-client β€” Gmail API integration for personalized emails
32
 
33
+ πŸ“Š pyvis β€” Visualizing the agent execution graph
34
 
35
+ ⚑ onnxruntime β€” For fast LLM inference where applicable
36
 
37
+ πŸ“„ python-docx, docx2txt, pymupdf β€” Resume document parsing
38
 
39
+ 🧠 spacy, nltk β€” NLP for keyword extraction and semantic comparison
40
 
41
+ 🌐 firecrawl-py β€” Job post scraping from URLs
 
 
42
 
43
+ 🌍 streamlit β€” Frontend interface for candidate and employer interaction
44
 
45
+ βš™οΈ asyncio, numpy β€” Utility libraries for async tasks and data processing
46
 
47
+ πŸ“‚ Installation
48
+ bash
49
+ Copy
50
+ Edit
51
+ # Install uv if not already installed
52
+ pip install uv
53
 
54
+ # Install dependencies
55
+ uv pip install -r pyproject.toml
56
+ Or, if using requirements.txt:
57
 
58
+ bash
59
+ Copy
60
+ Edit
61
+ pip install -r requirements.txt
62
+ πŸ› οΈ Usage
63
+ Run the Streamlit App
64
+ bash
65
+ Copy
66
+ Edit
67
+ streamlit run app.py
68
+ Modes of Operation
69
+ Select your role: Candidate or Employer
70
 
71
+ Follow on-screen instructions to upload documents and optionally provide URLs
72
 
73
+ View results and email status in the dashboard
74
 
 
75
 
76
+ πŸ“Ž File Types Supported
77
+ PDF
78
 
79
+ DOCX
 
 
 
 
 
 
80
 
 
 
 
81
 
82
+ πŸ“ˆ Output
83
+ For Candidates:
84
+ Score Report
85
 
86
+ Rewritten Resume
87
 
88
+ Comparison Overview
89
 
90
+ For Employers:
91
+ Top 3 Candidate Names
92
+
93
+ Email Dispatch Report
94
+
95
+ Ranking Table
96
+
97
+ πŸ§ͺ Retry Mechanism
98
+ Resume rewriting has a 2-attempt max to ensure optimal rewriting without excessive API calls.