Skip to content

Commit

Permalink
add crewai resume helper agent
Browse files Browse the repository at this point in the history
  • Loading branch information
kevin-v96 committed Jul 28, 2024
1 parent 64ba2d5 commit 651f162
Show file tree
Hide file tree
Showing 5 changed files with 184 additions and 13 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -165,3 +165,4 @@ cython_debug/
#.idea/

poetry.lock
db/
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
# multi-agent-ai
Some experimentation with the different multi-agent AI orchestration frameworks currently widely used.

Here are some of the ways to run this: After installing Poetry on your system, run `poetry install` to install all the pre-requisites. After that `poetry run python weather_app.py` will give you a local ip where the page is hosted and you can interact with the chatbot.
Here are some of the ways to run this: After installing Poetry on your system, run `poetry install` to install all the pre-requisites.

## Weather bot using AutoGen

After that `poetry run python weather_app.py` will give you a local ip where the page is hosted and you can interact with the chatbot.

![alt text](images/image.png)

## Resume helper using CrewAI

`poetry run crewai_resume_assistant.py` after adding your resume in markdown format and adding the job posting link as well as a small writeup about yourself will help you alter your resume to match the job posting. Your new resume will be output as `tailored_resume.md`, and it will also output `interview_materials.md`, which will have questions you could prepare for to do well at interviews for this role.

## References
- [Creating a Multi-Agent Chatbot Using AutoGen: An End-to-End Guide](https://blog.arjun-g.com/creating-a-multi-agent-chatbot-using-autogen-an-end-to-end-guide-78b6671a96b4)
- [DeepLearning.ai - Multi AI Agent Systems with CrewAI](https://learn.deeplearning.ai/courses/multi-ai-agent-systems-with-crewai)
Expand Down
34 changes: 22 additions & 12 deletions crewai_resume_assistant.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
from crewai_tools import FileReadTool, ScrapeWebsiteTool, MDXSearchTool, SerperDevTool

# bookkeeping
openai_api_key = get_openai_api_key()
os.environ["OPENAI_MODEL_NAME"] = "gpt-3.5-turbo"
os.environ["OPENAI_API_KEY"] = get_openai_api_key()
os.environ["OPENAI_MODEL_NAME"] = "gpt-4o"
os.environ["SERPER_API_KEY"] = get_serper_api_key()

# import all the tools we'll need for this
Expand Down Expand Up @@ -167,16 +167,26 @@

# Running the crew
job_application_inputs = {
"job_posting_url": "https://jobs.lever.co/AIFund/6c82e23e-d954-4dd8-a734-c0c2c5ee00f1?lever-origin=applied&lever-source%5B%5D=AI+Fund",
"github_url": "https://github.com/joaomdmoura",
"personal_writeup": """Noah is an accomplished Software
Engineering Leader with 18 years of experience, specializing in
managing remote and in-office teams, and expert in multiple
programming languages and frameworks. He holds an MBA and a strong
background in AI and data science. Noah has successfully led
major tech initiatives and startups, proving his ability to drive
innovation and growth in the tech industry. Ideal for leadership
roles that require a strategic and innovative approach.""",
"job_posting_url": "https://depopcareers.com/careers/JR3536",
"github_url": "https://github.com/kevin-v96",
"personal_writeup": """Dear Hiring Manager,
I am excited to apply for the role of Data Scientist at *COMPANY NAME*. With a Master's degree in Data Science and two years of prior experience as a Product Engineer, I am confident that my skills and experience make me a perfect fit for this position.
As a Product Engineer, I have gained experience in developing interactive and user-friendly web applications. During my time working with React, I learned the importance of data visualisation and the role it plays in communicating complex information to users. This experience has given me a unique perspective on the importance of data and its analysis, which I am eager to bring to my work as a Data Scientist.
Throughout my Master's program, I have gained hands-on experience in data analysis, machine learning, and statistical modelling. I am proficient in Python and R, and have worked on projects involving data manipulation, cleaning, and visualisation using libraries such as Pandas, NumPy, and Matplotlib. In addition, I have experience working with SQL databases and have developed skills in using tools like Tableau and Excel for data analysis, visualisation and reporting.
My passion for AI and my experience as a frontend developer has given me a unique perspective on the role of data in user-centric applications. I am committed to using data to drive informed decisions and to provide the best possible user experience. I am also a team player and have excellent communication skills, which I believe are essential for any Data Scientist working in a collaborative and interdisciplinary environment.
I also have had the experience of working as an Intern Machine Learning Engineer at Flagright, a YC startup that tackles financial Fraud and AML. There, I helped set up their ML pipeline, including MLOps and its different steps on various platforms.
My Masters thesis and final project were on abstractive summarisation using SOTA LM models like LSTMs and Transformers. As such, I have a keen interest in LLMs and their usage. I also have certification as an AWS Solutions Architect and an Azure Data Scientist Associate.
I am excited about the opportunity to bring my skills and experience to *COMPANY NAME* and to make a meaningful contribution to your team. I look forward to the opportunity to further discuss my qualifications with you.
Sincerely,
Kevin Vegda
""",
}

### this execution will take a few minutes to run
Expand Down
83 changes: 83 additions & 0 deletions interview_materials.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Interview Preparation Document for Kevin Vegda

**Job Title:** Data Scientist at Depop

**Interview Preparation:**

## Key Interview Questions and Talking Points

### 1. Professional Experience
- **Question:** Can you describe your experience at Flagright as a Machine Learning Engineer intern and the impact you had?
- **Talking Points:**
- Discuss setting up the MLOps pipeline for fraud detection.
- Highlight the integration of models for fraud detection using AWS services.
- Mention the improvement in client feedback by approximately 10%.

- **Question:** What were your main responsibilities and achievements at Sprinklr?
- **Talking Points:**
- Describe shipping features like the modal notification system and the automatic scheduler.
- Emphasize fixing high-priority same-day bugs.
- Mention the recognition as a top performer in the Engineering team for two quarters.
- Highlight the increase in average user engagement by 7%.

### 2. Technical Skills
- **Question:** Can you elaborate on your proficiency with Python and how you've applied it in your previous roles?
- **Talking Points:**
- Discuss using Python for developing models and setting up MLOps pipelines.
- Mention specific libraries and frameworks used, such as PyTorch and TensorFlow.

- **Question:** How have you utilized AI frameworks and tools like PyTorch and TensorFlow in your projects?
- **Talking Points:**
- Provide examples from your projects like the Automatic Speech Recognition and Python Code Autocomplete.
- Discuss specific techniques and algorithms used, such as CNNs, RNNs, and Transformer architectures.

### 3. Machine Learning and Data Science Expertise
- **Question:** What experience do you have with designing and conducting large-scale experiments?
- **Talking Points:**
- Mention your thesis on Abstractive Document Summarisation and the experiments conducted to achieve performance gains.
- Discuss any A/B testing or hypothesis testing conducted during your internship or projects.

- **Question:** How do you stay up-to-date with the latest research and advancements in machine learning?
- **Talking Points:**
- Highlight your continuous learning through courses, reading research papers, and participating in relevant communities or conferences.

### 4. Collaborative and Interdisciplinary Work
- **Question:** Can you share an example of a time you worked with cross-functional teams?
- **Talking Points:**
- Discuss your experience at Sprinklr working in an Agile environment and collaborating with different teams.
- Highlight your interdisciplinary communication skills and any specific instances where these were crucial.

### 5. Specific Job Role Related
- **Question:** What attracts you to the Data Scientist role at Depop, and how do you see yourself contributing to our mission?
- **Talking Points:**
- Express your enthusiasm for Depop’s mission of promoting circular fashion and sustainability.
- Relate your skills and experiences to the responsibilities listed in the job description, such as delivering machine learning solutions for search and discovery.

- **Question:** How would you approach designing a machine learning solution to show users personalized results in real-time?
- **Talking Points:**
- Outline a high-level approach, including understanding user behavior, data preprocessing, model selection, and real-time inference.
- Mention any relevant experience with similar problems, such as your work on fraud detection or user engagement features.

### 6. Additional Skills and Bonus Points
- **Question:** Do you have experience with search or recommendation models?
- **Talking Points:**
- Discuss any relevant coursework or projects, and how the skills gained can be applied to Depop’s needs.
- Mention your continuous learning efforts to stay updated with these areas.

- **Question:** Can you elaborate on your experience with cloud platforms like AWS?
- **Talking Points:**
- Provide details from your internship at Flagright, where you used AWS services like SageMaker, S3, API Gateway, and Docker.
- Highlight any specific achievements or efficiencies gained through the use of AWS.

### Personal and Soft Skills
- **Question:** How do you ensure effective communication of technical findings to non-technical audiences?
- **Talking Points:**
- Discuss your experience in technical writing and documentation.
- Provide an example of a complex technical concept you successfully communicated to a non-technical audience.

- **Question:** What motivates you to work in the field of data science and machine learning?
- **Talking Points:**
- Share your passion for solving complex problems and staying updated with the latest advancements in the field.
- Mention any specific areas of interest, such as NLP or AI, and how they align with the role at Depop.

By preparing these questions and talking points, Kevin can effectively highlight his strengths and relevance to the Data Scientist role at Depop. This preparation will help him confidently navigate the interview process and demonstrate his suitability for the position.
69 changes: 69 additions & 0 deletions tailored_resume.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Kevin Vegda
+91-7984503748 • [email protected] • linkedin.com/in/kevin-vegda/ • kevinv.vercel.app

## Summary
Results-driven Data Scientist with a solid track record of delivering machine learning solutions to solve industry-scale problems. Proficient in Python and experienced with frameworks such as sci-kit-learn, TensorFlow, and PyTorch. Adept at setting up machine learning pipelines and conducting large-scale experiments. Passionate about staying updated with the latest research and applying new techniques for NLP and image processing. Collaborative team player with excellent communication skills, ready to contribute to Depop’s mission of building a diverse, progressive home of fashion.

## Professional Experience

### Flagright: Machine Learning Engineer (Intern) (04/2023 - 06/2023)
- Set up an MLOps pipeline for fraud detection, including CI/CD, models, and monitoring dashboards using infrastructure-as-code in AWS CDK with CloudFormation stacks.
- Integrated various models for fraud detection in financial data using serverless services on AWS such as SageMaker, S3, API Gateway, and Docker.
- Increased positive client feedback on fraud detection by ~10%.
- **Skills**: Machine Learning, MLOps, Cloud (AWS), Docker, Technical writing

### Sprinklr: Product Engineer (11/2019 - 06/2021)
- Shipped features including a modal notification system and an automatic scheduler to maximize user engagement.
- Fixed high-priority same-day bugs affecting multi-million dollar clients.
- Won top performer in the Engineering team for two quarters in 2020.
- Increased average user engagement by 7%.
- **Skills**: Large codebase management, regular code review, CI/CD practices, scalable and readable code, Agile environment, React.js, Design Systems, Interdisciplinary Communication

## Technical Skills
- **Programming Languages**: Python, R, JavaScript, React.js
- **AI Frameworks and Tools**: PyTorch, PyTorch Lightning, LangChain, CrewAI
- **Miscellaneous**: Docker, Jira, Git, Unix, AWS, Azure

## Education and Certification

### MSc Data Science and Analytics (Jun 2023)
- **Institution**: Royal Holloway, University of London
- **Distinction**: 8.63/10
- **Courses**: Natural Language Processing, Deep Learning, Large-scale Data Processing, Data-Centric AI
- **Thesis**: Abstractive Document Summarisation with Pointer-Generator Networks
- Achieved 2-3 ROUGE points of performance gains for abstractive document summarisation
- Applied Attention mechanism to RNN-based Encoder-Decoders models
- Added Pointer-Generator mechanism to Transformer-based models

### BTech in Information and Communication Technology (Jan 2019)
- **Institution**: Dhirubhai Ambani Institute of Information and Communication Technology (DAIICT)
- **Courses**: Advanced Topics in Neural Networks, Theory of Computation, Graph Networks

## Relevant Projects

### Automatic Speech Recognition (May 2024)
- Trained an ASR model using CNNs and RNNs in PyTorch with the Connectionist Temporal Classification (CTC) algorithm for alignment.
- Used mel-spectrograms to convert the audio domain problem into a computer vision problem.

### Python Code Autocomplete (June 2024)
- Developed medium-sized Language Models (~1B params) for text generation on Python code.
- Fine-tuned a DeepSeek-Coder-1.3B model with hyperparameter search using Weights and Biases Sweep.
- Created another code completion model (~200M params) from scratch in PyTorch using a Decoder-only Transformer architecture.

## Interests

- Data Science, AI, and NLP
- Collaborating on Data Science projects, especially those in NLP and focusing on LLMs
- Actively looking for Data Science jobs

## Communication Style

- Excellent communication skills, essential for working in a collaborative and interdisciplinary environment.
- Experienced in technical writing and documentation.
- Ability to convey complex technical information in a user-friendly manner.

## Achievements and Contributions

- Top performer in the Engineering team at Sprinklr for two quarters in 2020.
- Increased user engagement and client satisfaction through innovative features and efficient problem-solving.
- Contributed to the academic field with a thesis on abstractive summarisation using state-of-the-art language models.

0 comments on commit 651f162

Please sign in to comment.