File size: 859 Bytes
ca2c3c4
1a4dad2
b960ad6
ded04b8
b960ad6
974e011
ded04b8
b960ad6
ded04b8
79539fd
ca2c3c4
 
ded04b8
79539fd
 
1a4dad2
ded04b8
 
79539fd
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import re
import torch
import gradio as gr
from transformers import AutoTokenizer, AutoModelForSequenceClassification

tokenizer = AutoTokenizer.from_pretrained("distilbert/distilbert-base-uncased")
model = AutoModelForSequenceClassification.from_pretrained("usman-yello/job-tagging")


def tag_job_description(job_description, num_tags):
    job_description = re.sub(r'[^a-zA-Z]', ' ', job_description)
    inputs = tokenizer(job_description, truncation=True, max_length=512, return_tensors="pt")
    outputs = model(**inputs)
    topk_values, topk_indices = torch.topk(outputs.logits, num_tags)
    predicted_tags = [model.config.id2label[i.item()] for i in topk_indices[0]]
    return predicted_tags


job_tagger = gr.Interface(fn=tag_job_description, inputs=["text", gr.Slider(value=1, minimum=1, maximum=10, step=1)], outputs="text")
job_tagger.launch()