Interview_Buddy / app.py
dnivra26's picture
Update app.py
51542f4 verified
import gradio
import gradio as gr
import requests
def process(file, role, complexity):
try:
file_upload_api_url = "https://app.interview-buddy.live/uploadFile"
query_api_url = "https://app.interview-buddy.live/query"
files = {'file': open(file, 'rb')}
file_upload_response = requests.post(file_upload_api_url, files=files, verify=False)
print(file_upload_response.status_code)
if file_upload_response.status_code != 200 and file_upload_response.status_code != 204:
raise gr.Error('Uploading resume FAILED!!')
query_response = requests.get(query_api_url, params={'text': f'You are an expert interviewer. Generate few {complexity} interview questions for the role {role} based on the resume given'}, verify=False)
print(query_response.status_code)
if query_response.status_code != 200 and query_response.status_code != 204:
raise gr.Error('Unable to generate questions!!')
return query_response.text
except Exception as err:
return err
roles_dropdown = gradio.Dropdown(
choices=[
"UI Developer",
"Fullstack Developer",
"Backend Developer",
"Engineering Manager",
"Devops"
],
value="Backend Developer"
)
complexity_radio = gradio.Radio(
choices=["Beginner", "Intermediate", "Advanced"],
value="Intermediate"
)
file_upload = gradio.File(
file_types=['.pdf'],
label='Choose a resume'
)
output = gr.Textbox(label="Interview Questions")
demo = gr.Interface(
title="Interview Buddy",
submit_btn="Upload & Generate Questions",
fn=process,
inputs=[file_upload, roles_dropdown, complexity_radio],
outputs=[output],
allow_flagging="never"
)
demo.launch(auth=[("arvind", "!abcd1234"), ("srikkanth", "!abcd1234")], root_path='/interview_buddy_ui', server_port=7860)