sadafwalliyani commited on
Commit
150d896
·
1 Parent(s): da01e30

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -1
app.py CHANGED
@@ -1,4 +1,51 @@
1
  import streamlit as st
2
 
3
  x = st.slider('Select a value')
4
- st.write(x, 'squared is', x * x)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
 
3
  x = st.slider('Select a value')
4
+ st.write(x, 'squared is', x * x)
5
+
6
+ import requests
7
+
8
+ @st.cache_data
9
+ def get_top_relevant_normalized_job_titles(job_title, num_answers):
10
+ # JAMES API endpoint for the top-N relevant normalized job titles
11
+ api_endpoint = f'http://james-mapping.xyz/api/v1/related?job_title={job_title}'
12
+
13
+ try:
14
+ # Send GET request to JAMES API
15
+ response = requests.get(api_endpoint)
16
+
17
+ if response.status_code == 200:
18
+ # Successful API call
19
+ response_data = response.json()
20
+ normed_job_title_list = response_data.get("normed_job_title_list", [])
21
+
22
+ if not normed_job_title_list:
23
+ return ["No normalized titles found"]
24
+
25
+ return normed_job_title_list # Remove slicing to return all results
26
+ else:
27
+ # API call unsuccessful
28
+ return [f'Error: {response.status_code}']
29
+ except requests.exceptions.RequestException as e:
30
+ return [f'Error: {e}']
31
+
32
+ def main():
33
+ # Set page title
34
+ st.set_page_config(page_title='JAMES API Demo', layout='centered')
35
+ st.title('JAMES Job Title Mapping')
36
+
37
+ # Job title input field
38
+ job_title = st.text_input('Enter a job title')
39
+ num_answers = st.number_input('Select Number of Answers', min_value=1, max_value=10, step=1, value=5)
40
+
41
+ # Submit button for top-N relevant titles
42
+ if st.button(f'Get Top {num_answers} Relevant Titles'):
43
+ # Perform job title normalization using the top-N relevant titles
44
+ top_normalized_titles = get_top_relevant_normalized_job_titles(job_title, num_answers)
45
+
46
+ st.subheader(f'Top {num_answers} Relevant Titles:')
47
+ for i, normed_job_title in enumerate(top_normalized_titles, 1):
48
+ st.text(f'{i}: {normed_job_title}')
49
+
50
+ if __name__ == '__main__':
51
+ main()