Rithankoushik's picture
Create app.py
0099ece verified
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)}")