Spaces:
Sleeping
Sleeping
File size: 4,142 Bytes
0099ece |
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 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
import streamlit as st
import json
import torch
from inference import infer_from_text
# GPU check
if torch.cuda.is_available():
st.info(f" GPU is available: {torch.cuda.get_device_name(0)}")
else:
st.warning(" GPU is NOT available. Running on CPU.")
# Page config
st.set_page_config(
page_title="Job Description Parser Demo",
page_icon="📝",
layout="wide"
)
# Title
st.markdown("## 📝 Job Description Parser Demo")
# Sample job descriptions
sample_jds = {
" Machine Learning Engineer Example": """Job Title: Machine Learning Engineer
About the Role:
At ZentrixAI, we're redefining how data-driven intelligence powers products in healthcare and insurance.
We're looking for a Machine Learning Engineer to build, train, and optimize models that turn messy real-world data into actionable insights.
If you love solving complex problems, deploying scalable ML pipelines, and shipping features that matter, you'll thrive here.
Responsibilities:
Design and develop machine learning models for NLP, tabular prediction, and anomaly detection.
Preprocess and normalize large-scale structured and unstructured datasets.
Collaborate with MLOps to deploy models into production (TensorFlow Serving / TorchServe).
Evaluate model performance using AUC, precision-recall, F1, etc.
Work closely with Data Engineers and Product Managers to define model goals.
Continuously improve models using online learning and feedback loops.
Write scalable training and inference code using TensorFlow and PyTorch.
Maintain model versioning using MLflow and integrate with CI/CD pipelines.
Technical Skills:
Python (NumPy, Pandas, Scikit-learn)
TensorFlow, PyTorch, Keras
MLflow, Docker, FastAPI
SQL, Spark
Cloud ML tools (GCP AI Platform, AWS SageMaker)
NLP libraries (spaCy, Transformers, NLTK)
Git, GitHub Actions, Kubernetes basics
Soft Skills:
Team collaboration
Curiosity and continuous learning
Communication with non-tech stakeholders
Time prioritization
Initiative-taking mindset
Qualifications:
Bachelor's degree in Computer Science, AI, Data Science, or similar
Preferred: Master's in Machine Learning or Applied Mathematics
Certifications:
TensorFlow Developer Certificate
AWS Certified Machine Learning - Specialty
Languages:
English (Fluent)
Mandarin (Basic)
Compensation & Benefits:
Salary: SGD 7,500 - SGD 10,000 per month
Time Frequency: Monthly
Benefits: Remote work setup budget, flexible hours, learning allowance, stock grants, health insurance
Employment Details:
Full-time
Remote (preferably working in Singapore Standard Time)
Location:
Hiring: Remote (Singapore time zone overlap)
Org Location: Singapore
Contact Info:
Email: jobs@zentrixai.com
Phone: +65 6904 8899
Website: https://www.zentrixai.com/careers
About ZentrixAI:
ZentrixAI is an award-winning AI-first company focused on transforming decision-making for insurers and hospitals through intelligent automation.
With a growing international team, we blend academic rigor with product agility.
"""
}
# Input section
selected = st.selectbox(
"Select a sample JD to auto-fill the text area",
[""] + list(sample_jds.keys())
)
jd_text = st.text_area(
"Job Description:",
value=sample_jds.get(selected, ""),
height=300
)
# Parse button and output
if st.button("⚡ Click here to Parse") and jd_text.strip():
try:
with st.spinner("Parsing job description..."):
parsed_output, duration = infer_from_text(jd_text)
st.success(f"✅ Parsed in {duration} seconds")
# Try to parse and display as JSON
try:
parsed_json = json.loads(parsed_output)
st.json(parsed_json)
st.download_button(
"📋 Download JSON",
json.dumps(parsed_json, indent=2),
file_name="parsed_jd.json",
mime="application/json"
)
except Exception:
st.error("Could not parse output as JSON. Showing raw output:")
st.code(parsed_output, language="text")
except Exception as e:
st.error(f"Error during parsing: {str(e)}") |