File size: 4,940 Bytes
bc49c7c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import os
import gradio as gr
import requests
import intro
def search_resume(input_text):
    from urllib.parse import quote
    encoded_sentence = quote(input_text)

    url = f"https://n970resrb9.execute-api.eu-west-1.amazonaws.com/dev/prediction/{encoded_sentence}"  # replace with your API endpoint
    headers = {'Content-Type': 'application/json', "x-api-key": os.environ["API_KEY"]}  # adjust headers as needed
    # data = {"id": input_text}  # data to be sent to the API
    response = requests.get(url, headers=headers)
    response_data = response.json()

    if 'prediction' in response_data:
        prediction = response_data["prediction"]
        if isinstance(prediction, list):
            # Insert a newline after each '.'
            # Insert a newline after each '.' and add "Candidate <follow up number>:\n" before each item
            updated_prediction = [f"Candidate {i+1}:\n=============================\n{s}" for i, s in enumerate(prediction)]
            updated_prediction = [s.replace('. ', '.\n') for s in updated_prediction]
            updated_prediction = [s.replace('•', '\n - ') for s in updated_prediction]
            return "\n\n".join(updated_prediction)
    return "No 'prediction' key found in the response or the 'body' is not a list."

examples = [["""

DATA SCIENTIST - GENTIS
========================
I am in contact with a top company in Ghent where they are looking for an additional Data Scientist. Beware... Once you start there, you won't be leaving anytime soon. The company likes to keep their employees happy, so few leave.

The profile

Min of 3 years experience as a Data Scientist
Experience in Python and SQL
Communicative very strong
Experience in coaching and supporting junior collegues
Experience in Google Cloud is a plus
Experience in Machine Learning is a plus
They offer
An opportunity to be part of not only a fast-growing, innovative company, but one where you as a person can grow professionally as fast as the company
A close-knit and diverse team who are all ready to help, listen and give advice to each other
Training opportunities (because they don't stand still, so neither do you)
Trendy and young company where everyone can be their own
A very nice salary package and much more
Lots of remote work and flexibility, so bye bye traffic JAMS!
A renovated office with everything you could dream of full with surprises and extras

If you are interested or want more info, don't hesitate to contact me.
"""],
[
"""
Payroll, Benefits & Office Manager
================================

Your mission:
As Payroll, Benefits & Office Manager, you will play a crucial role in ensuring an outstanding service to our employees throughout their employee journey. 
You will be managing a team of 5, whilst improving systems and processes and providing support to the overall People and Organisation team. 

Your responsibilities:
Manage the People Services team to deliver a "first time right " approach to service delivery, coaching and development of key skills and knowledge ensuring adequate cover across all work areas.
Responsibility for ensuring that all HR administrative tasks across the full employee life cycle including pre- and post-employment administration, contract issue, contract amendments.

Your profile:
You have a proven track record in People Management.
Your field of expertise lies in payroll and comp&ben, and experience in Facility Management or Property Management is a strong plus.

What we offer you :
A company on a human scale in which you quickly see the impact of your actions
An attractive salary package with company car, accompanied by various extra-legal benefits (meal vouchers, group insurance, hospitalization insurance, etc.)
39 days off per year
"""
]

]
#
# iface = gr.Interface(fn=search_resume,
#                      inputs=gr.inputs.Textbox(lines=7, placeholder="Enter Text Here..."),
#                      outputs="text",
#                      examples=examples
#                      )
# iface.launch()
#
demo = gr.Blocks()


with demo:

    text_vacancy = gr.Textbox("Paste here a Vacancy...", lines=7, label="Vacancy")
    b1 = gr.Button("Search Resume")
    text_search_result = gr.Textbox("Top resumes will appear here ...", label="Top resumes found in the database")
    b1.click(search_resume, inputs=text_vacancy, outputs=text_search_result)

    text_resume = gr.Textbox("Paste here a Resume...", label="Copy / Paste here your prefered resume and click the button to write an intro ")
    b2 = gr.Button("Write a relevant intro")
    text_intro = gr.Textbox()
    b2.click(intro.create,
             inputs=[
                 text_vacancy,
                 text_resume
             ],
             outputs=text_intro)

    examples = gr.Examples(
        examples=examples,
        fn=search_resume,
        inputs=text_vacancy,
        outputs=text_search_result,
        cache_examples=False,
    )

demo.launch()