Home Artificial Intelligence Using OpenAI and Python to Enhance Your Resume: A Step-by-Step Guide 0. Some considerations 1. Github! 2. Results! 3. Some takeaways! 4. Conclusions

Using OpenAI and Python to Enhance Your Resume: A Step-by-Step Guide 0. Some considerations 1. Github! 2. Results! 3. Some takeaways! 4. Conclusions

Using OpenAI and Python to Enhance Your Resume: A Step-by-Step Guide
0. Some considerations
1. Github!
2. Results!
3. Some takeaways!
4. Conclusions

Image made by writer using Midjourney

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

Playing video games is an incredible distraction for me, and as I’m so incredibly bad, I actually don’t deal with the sport; I just start considering. I let my mind go all over the place. Mostly, I believe of the things I like, like .

So while I used to be doing my mission on PS4 (again, I used to be losing, in fact), I used to be considering that 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 may be used as an alternative of ChatGPT and with a free API, so the purpose is just not even specifically . 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 you could construct in your laptop.

What I mean is that if you could have to summarize a text (that is just not 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 try this in seconds.

So I used to be considering, “What’s a task that might require numerous work and we will now do it in seconds?” Well, for instance,

After all, 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 often not free, and I believe that now they’re obsolete because there may be OpenAI that’s indeed free and may 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 writer

Quite simple right?

Just a few 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 couple 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 imagine it, so let me explain what I did in additional detail in the subsequent chapter!

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

Initially, the world of HR and recruiters is a difficult one for numerous reasons. For instance, the job market is dynamic and it’s all the time evolving. AI works with models. Because of this once the model is trained, the data it gets and its performance are related to a possibly outdated dataset it has been trained on.

For that reason, I might say that this model works as a and a of your text MORE THAN as a specialist that truly reviews your resume and finds a strategy to improve it.

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 is just not exactly a secret as everyone with a LinkedIn page can see them. In case you still feel sketchy about this, do not forget that there may be all the time the choice to run my code locally, so no web app is definitely used and also you keep all the data 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.

There are a couple of general ethical considerations to be mindful when using AI to enhance your resume.

  • Constructing a dataset that is just not biased is an especially tricky concept as we could all be, by some means, in our own way : 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 amazingly 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 necessary to be transparent concerning the use of AI 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 continues to be something that should be reminded. There are also tools that may be used to see if a text is written by AI or not (read more here)
  • Lastly, do not forget that you’re just using a All of the model is absolutely doing is predicting, in a elaborate way, the “next word” based on billions of texts all over the world. You understand yourself higher than a pc so dig in, enhance your positive sides, give yourself credit and 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! All the things is public and on Github! 👇

I’ll now describe every part that’s there and that’s crucial to provide the outcomes.

1.1. Constants.py

Let’s start with the easy things

is a file that incorporates… 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!!! It’s worthwhile to change the OPENAIKEY using your open AI key. It is just not 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 may change the prompt engineering just by changing this constants.py file. Ain’t that easy? 🙃

1.2 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

does something that’s indeed much 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

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…every part.

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 and .
  • It does the AI part using uses the file too.
  • It means that you can download the AI improved resume with a download button.

1.6 principal.py

does exactly what does, but locally (no streaming).

Run it using

python principal.py

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

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.”

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

I actually have an , 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. , 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 novel 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 may be an issue as we would like to save lots of space in our resume.

. For instance, considered 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.


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 just a little too brave. 😂

I might 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 wide selection of NLP tasks, including token classification, text generation, sentiment evaluation, and text classification. It’s so helpful that numerous the previous models are principally outdated at this point.
  2. The concept behind the app is to together with your resume, 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 couple 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 couple of hours of labor.

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

In case you liked the article and you desire to know more about machine learning, or you only need to ask me something, you’ll be able to:

A. Follow me on , where I publish all my stories
B. Subscribe to my . It’s going to keep you updated about recent stories and offer you the possibility to text me to receive all of the corrections or doubts you could have.
C. Grow to be a , so that you won’t have any “maximum variety of stories for the month” and you’ll be able to read whatever I (and hundreds of other Machine Learning and Data Science top writers) write concerning the newest technology available.



Please enter your comment!
Please enter your name here