Skip to content

hienpham15/Job-Description-Understanding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

156 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Job Email Understanding System

A combination of NLP models developed with FastAPI and deployed on Google Cloud Platform (GCP). The system comprise of 2 main API, JobPredictionAPI (prediction) and a WebAppAPI (display results).

When a user receive a new email (we use Gmail), the GmailAPI will send a push notification to Cloud Pub/Sub (a Publisher/Subscriber service of GCP) which then trigger Cloud Functions to get the email, extract the content and finally send the request to JobPredictionAPI. The predicted result will then be stored on CloudSQL-MySQL server which will serves as database for the WebAppAPI.

An overview of the workflow: An overview of the system workflow

CI/CD pipeline

The CI/CD pipeline is deployed using Cloud Build, Cloud Container Registry and Cloud Run.

The pipeline workflow: CI/CD pipeline

JobPrediction API

The model is deployed at: https://job-email-model-ae4w2k2ara-od.a.run.app/

There are 2 ways to test the API:

curl -X 'POST' \
  'https://job-email-model-ae4w2k2ara-od.a.run.app/relevance' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "text": "%EMAIL_CONTENT%",
  "model_language": "en"
}'

Replace %EMAIL_CONTENT% with your testing data.

Web Application API

The application is deployed at: https://pythonwebapp-ae4w2k2ara-od.a.run.app/

Known issues

  • Since the GmailAPI uses Oauth2 for authentication of an app, the access token must be renew every hour, this prove problematic for our JobPredictionAPI.

About

The main goal of this project is to develop a pipeline, which analyse and classify email content to see if it is a job offer or not.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors