Home Artificial Intelligence Using OpenAI and Python to Enhance Your Resume: A Step-by-Step Guide

Using OpenAI and Python to Enhance Your Resume: A Step-by-Step Guide

Using OpenAI and Python to Enhance Your Resume: A Step-by-Step Guide

Image made by creator using Midjourney

A few days ago, I got here back from work and began playing video games.

Playing video games is an excellent distraction for me, and as I’m so incredibly bad, I actually don’t give attention to the sport; I just start pondering. I let my mind go in all places. Mostly, I feel of the things I really like, like artificial intelligence.

So while I used to be doing my mission on PS4 (again, I used to be losing, after all), I used to be pondering that rather a lot of NLP tasks like token classification, next-word predictions (text generation), sentiment evaluation, text classification, and plenty of other tasks can now principally be solved in seconds.

For instance, ChatGPT is a crazy-good chatbot that has been trained to reply questions from whatever domain in a conversational way. It might summarize text, answer questions, write code, do impressions, write songs, write recipes…

The trend is to construct smaller, more scalable, and open-source code that could be used as an alternative of ChatGPT and with a free API, so the purpose will not be even specifically ChatGPT. The purpose is that there are these so-called “large language models” which can be trained on an enormous quantity of texts, and with such computational power, they probably overcome all of the smaller approaches with smaller datasets which you can construct in your laptop.

What I mean is that if you’ve to summarize a text (that will not be a medically unknown, super difficult one) or understand if a review is nice or bad, there isn’t any reason to develop your model because OpenAI’s free model can probably do this in seconds.

So I used to be pondering, “What’s a task that may require quite a lot of work and we will now do it in seconds?” Well, for instance, writing a resume.

In fact, no one can write a resume for us from scratch because they don’t know our careers, but there are services online where you should utilize AI to enhance your resume. These services are frequently not free, and I feel that now they’re obsolete because there may be OpenAI that’s indeed free and might do the job probably higher than all the opposite models around unless those are Meta, Google, or Microsoft models. 😅

So I made a decision that I used to be going to make use of Streamlit to construct an online app where everyone could upload their resume and Artificial Intelligence (as we’ll see, more specifically, OpenAI) will improve their resume in seconds.

The app, in my mind, worked like this:

Image by creator

Quite simple right?

A couple of hours of labor, and that is the result:

Now, this looks like a startup that has been up for months, but the reality is that these days, it just took me a number of hours, some basic Python, and the magic of Open AI’s GPT-3 to provide that!

I’m a nerd, and if people show me this without the code, I’m not going to consider it, so let me explain what I did in additional detail in the subsequent chapter!

Before we start, there are some things we want to think about to make this discussion more complete.

One fair assumption:

Initially, the world of HR and recruiters is a difficult one for quite a lot of reasons. For instance, the job market is dynamic and it’s at all times evolving. AI works with trained models. Which means that once the model is trained, the knowledge it gets and its performance are related to a possibly outdated dataset it has been trained on.

For that reason, I’d say that this model works as a grammar check and a beautifier of your text MORE THAN as a specialist that truly reviews your resume and finds a approach to improve it.

One safety query:

Is it even protected to submit personal data to software?

Well…yes and no.

In this text, I’m not inviting you to submit anything different than your work experience which will not be exactly a secret as everyone with a LinkedIn page can see them. Should you still feel sketchy about this, keep in mind that there may be at all times the choice to run my code locally, so no web app is definitely used and also you keep all the knowledge of your CV for yourself.

I wouldn’t recommend adding personal details about your address, variety of telephone or email in a AI resume improver.

One ethical query:

There are a number of general ethical considerations to take into account when using AI to enhance your resume.

  • Constructing a dataset that will not be biased is an especially tricky concept as we could all be, one way or the other, in our own way biased: the one thing that we will attempt to do is to construct a dataset that’s as less biased as possible. This is applicable to this case as well. A blind and uncontrolled use of Artificial Intelligence within the hiring process, each when it comes to hiring or constructing your CV, is something that is incredibly dangerous because the Machine Learning decision algorithm can commit biased errors in all the choice stages and throughout all of the parts of your resume. (read more here)
  • It’s vital to be transparent in regards to the use of AI in your resume. Should you use AI to generate content or optimize formatting, we want to ensure that to reveal that in your resume. That is something that we should always all do in our jobs. Sometimes it is simple to ignore disclosing it properly because these technologies are so connected to our lives, nevertheless it remains to be something that should be reminded. There are also tools that could be used to see if a text is written by AI or not (read more here)
  • Lastly, keep in mind that you might be just using a Language Model. All of the model is de facto doing is predicting, in a flowery way, the “next word” based on billions of texts world wide. You already know yourself higher than a pc so dig in, enhance your positive sides, give yourself credit and then use a Language Model to enhance your resume 😊

Now that we’re all on board, let’s start with the code 💻

Initially, there may be nothing secret here! The whole lot is public and on Github! 👇

I’ll now describe all the things that’s there and that’s vital to provide the outcomes.

1.1. Constants.py

Let’s start with the straightforward things

constants.py is a file that comprises… constants.

It gets the keys of our template resume, the temperature of the OpenAI model, and the prompt that we’re using to enhance our resume. That is what they call “prompt engineering.”

Note!!! You should change the OPENAIKEY using your open AI key. It will not be public and also you shouldn’t share one, that’s why I named it fake_key. Get a key here https://openai.com/api/

You’ll be able to change the prompt engineering just by changing this constants.py file. Ain’t that easy? 🙃

1.2 utils.py

utils.py is a file that helps us extract the content from the .txt file and extract the summary part out of it. Just an honest guy that does the work he’s paid for.

1.3 cv_parser.py

cv_parser.py does something that’s indeed just like utils.py, and I actually wasn’t sure if I should split the code into two.py files. It’s again nothing greater than a toolbox; what it does is take care of the templates and the outcomes file (respectively, the beginning and the tip of the method) and parse the work experiences into the section of texts. It’s form of just like the work that utilities do, but more related to the duty… I probably must have put them in the identical file but I like order 😂

1.4 ai_improver.py

ai_improver.py does the right AI part. It improves each the resume summary and every of the work experiences which can be listed by connecting itself to OpenAI using the OpenAI key. It also uses all of the prompts we built and put within the constants. py file

1.5 app.py

That is what we run to run the app. We run it using

streamlit run app.py

and it does…all the things.

That is where all of the roads are connected. The script does the next steps:

  • It takes file from a upload file and parse them using utils.py and cv_parser.py.
  • It does the AI part using ai_improver.py. ai_improver.py uses the constants.py file too.
  • It lets you download the AI improved resume with a download button.

1.6 predominant.py

predominant.py does exactly what app.py does, but locally (no streaming).

Run it using

python predominant.py

Let’s give a correct have a look at the outcomes I got.

My input summary was the next:

“I’m a Physicist that has developed strong skills in Data Science and Deep Learning.Master’s Degree in Physics Of Complex Systems and Big Data (grade: 110/110 cum laude).Currently working as a Research Assistant with the Aerospace Engineering and Engineering Mechanics Department of the University of Cincinnati while pursuing the PhD. The goal of my research is finding ways to optimize engineering experiments using Machine Learning and Data Science.Technical author for Towards Data Science about trending Machine Learning applications and techniques to real world problems (60k+ monthly views). Course Creator and Teacher for Teens in AI. Developer of Image Processing I and Signal Processing I courses.”

The AI model outputs this as a more appealing and interesting summary for a recruiter:

I actually have an extensive background in Physics, with a Master’s Degree in Physics Of Complex Systems and Big Data (grade: 110/110 cum laude). I actually have also developed strong skills in Data Science and Deep Learning. I’m currently working as a Research Assistant with the Aerospace Engineering and Engineering Mechanics Department of the University of Cincinnati while pursuing my PhD. My research focuses on finding ways to optimize engineering experiments using Machine Learning and Data Science. Moreover, I’m a technical author for Towards Data Science, where I write about trending Machine Learning applications and techniques for solving real-world problems (60k+ monthly views). I’m also a Course Creator and Teacher for Teens in AI and a developer of Image Processing I and Signal Processing I courses. My experience and knowledge in these areas have enabled me to develop a singular set of skills which can be highly wanted within the industry.

I’m not going to lie… It does sound higher to me.

It’s definitely smoother (and this was predictable as I’m not an English native speaker), and it sounds more exciting. It’s barely longer, though, and that could be an issue as we would like to save lots of space in our resume.

Let’s see a review of 1 work experience. For instance, certainly one of them was:

Using Machine Learning to create surrogate modeling and increase the efficiency of Mechanical Engineering experiments. Hands on research in Traditional and Deep Machine Learning.

And the AI corrected it into:

Leveraging Machine Learning to create surrogate modeling and optimize Mechanical Engineering experiments. Experienced in each Traditional and Deep Machine Learning, with a proven track record of successful research.

….sometimes I actually have the sensation it’s just somewhat too brave. 😂

I’d still say that it does improve the standard of the text. And on this case, it also kept things short, which is a plus!

In this text, I shared my experience using OpenAI’s GPT-3 model to create a resume improvement web app. Listed here are the important thing takeaways from my experience:

  1. The Open AI model is a tool that may perform a big selection of NLP tasks, including token classification, text generation, sentiment evaluation, and text classification. It’s so helpful that quite a lot of the previous models are principally outdated at this point.
  2. The concept behind the app is to download a template, fill it out together with your resume, upload it back, and let the AI analyzes it for you.
  3. It’s very easy to create an online app to enhance your CV. It took only a number of hours of code and a few basic Python coding.
  4. This makes me think that the chances for AI-powered applications are huge, and with tools like GPT-3 and Streamlit becoming more accessible, even non-coders (or not-so-skilled coders) can create impressive leads to just a number of hours of labor.

Finally, this whole experience has demonstrated once more the incredible power of AI and its potential to rework the way in which we work and live. But perhaps we already knew that 🙃

Should you liked the article and you wish to know more about machine learning, or you simply need to ask me something, you’ll be able to:

A. Follow me on Linkedin, where I publish all my stories
B. Subscribe to my newsletter. It can keep you updated about recent stories and provide you with the possibility to text me to receive all of the corrections or doubts you’ll have.
C. Change into a referred member, so that you won’t have any “maximum variety of stories for the month” and you’ll be able to read whatever I (and 1000’s of other Machine Learning and Data Science top writers) write in regards to the newest technology available.



Please enter your comment!
Please enter your name here