tiny-code-only-tts / utils.py
abersbail's picture
Upload folder using huggingface_hub
66be83b verified
Raw
History Blame Contribute Delete
6.57 kB
DEFAULT_SAMPLE_RESUME = """ALEX CHEN
Senior AI & Machine Learning Engineer | San Francisco, CA | alex.chen@email.com | (555) 019-2834 | linkedin.com/in/alexchen-ai
SUMMARY
Passionate Senior AI Engineer with 6+ years of experience designing and deploying scalable deep learning models, RAG architectures, and computer vision systems. Expertise in PyTorch, Python, TensorFlow, Docker, Kubernetes, and LLM fine-tuning.
TECHNICAL SKILLS
• Languages: Python, C++, SQL, Bash
• AI & ML Frameworks: PyTorch, TensorFlow, Scikit-learn, OpenCV, Hugging Face
• LLM & RAG: LangChain, LlamaIndex, Vector DBs (Milvus, Qdrant, FAISS), RAG Optimization
• MLOps & Cloud: AWS (S3, EC2, SageMaker), Docker, Kubernetes, CI/CD, MLflow
PROFESSIONAL EXPERIENCE
Senior AI Engineer | TechCorp AI (2022 - Present)
• Led development of enterprise RAG search system improving document retrieval latency by 45%.
• Fine-tuned 70B parameter LLMs on proprietary datasets using LoRA and QLoRA techniques.
• Architected automated MLOps pipelines on Kubernetes serving 2M+ daily active requests.
Machine Learning Engineer | DataVision Labs (2019 - 2022)
• Trained custom ResNet and YOLO object detection models for real-time video surveillance.
• Reduced model inference latency from 120ms to 28ms using TensorRT quantization.
EDUCATION
B.S. in Computer Science | University of California, Berkeley (2015 - 2019)
"""
DEFAULT_JOB_DESCRIPTION = """We are seeking a Senior AI/ML Engineer to build next-generation RAG systems, fine-tune open-source Large Language Models (LLMs), and deploy scalable MLOps infrastructure.
KEY REQUIREMENTS:
• 5+ years of software engineering & ML experience in Python and PyTorch.
• Strong expertise in RAG (Retrieval-Augmented Generation), Vector Databases, and LangChain/LangGraph.
• Demonstrated experience deploying containerized models on Docker/Kubernetes or Cloud (AWS/GCP).
• Experience with MLOps tracking tools (MLflow, Weights & Biases) and CI/CD pipelines.
• B.S. or M.S. in Computer Science or related field.
"""
def generate_ats_score_html(score_pct: int) -> str:
"""
Renders a glowing neon HTML radial gauge for overall ATS match score percentage.
"""
color = "#48bb78" if score_pct >= 80 else ("#ed8936" if score_pct >= 60 else "#f56565")
return f"""
<div style='background: linear-gradient(135deg, #1e293b, #0f172a); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 22px; text-align: center; box-shadow: 0 8px 32px rgba(0,0,0,0.4); contain: content;'>
<div style='font-size: 0.85rem; text-transform: uppercase; color: #94a3b8; font-weight: 700; letter-spacing: 0.05em;'>Overall ATS Compatibility Score</div>
<div style='font-size: 3.4rem; font-weight: 900; color: {color}; margin: 8px 0; font-family: Inter, sans-serif;'>{score_pct}%</div>
<div style='background: #1a202c; border-radius: 10px; height: 14px; width: 100%; overflow: hidden; border: 1px solid #2d3748;'>
<div style='background: {color}; height: 100%; width: {score_pct}%; border-radius: 10px; transition: width 0.8s ease-in-out;'></div>
</div>
</div>
"""
def generate_subscores_html(keyword_pct: int, skills_pct: int, experience_pct: int, format_pct: int) -> str:
"""
Renders 4 mini KPI score cards for detailed breakdown.
"""
return f"""
<div style='display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 14px; contain: content;'>
<div style='background: rgba(30, 41, 59, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 14px; text-align: center;'>
<div style='font-size: 0.75rem; color: #94a3b8; font-weight: 700; text-transform: uppercase;'>Keywords</div>
<div style='font-size: 1.6rem; font-weight: 800; color: #38bdf8; margin-top: 4px;'>{keyword_pct}%</div>
</div>
<div style='background: rgba(30, 41, 59, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 14px; text-align: center;'>
<div style='font-size: 0.75rem; color: #94a3b8; font-weight: 700; text-transform: uppercase;'>Skills Match</div>
<div style='font-size: 1.6rem; font-weight: 800; color: #4ade80; margin-top: 4px;'>{skills_pct}%</div>
</div>
<div style='background: rgba(30, 41, 59, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 14px; text-align: center;'>
<div style='font-size: 0.75rem; color: #94a3b8; font-weight: 700; text-transform: uppercase;'>Experience Fit</div>
<div style='font-size: 1.6rem; font-weight: 800; color: #a855f7; margin-top: 4px;'>{experience_pct}%</div>
</div>
<div style='background: rgba(30, 41, 59, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 14px; text-align: center;'>
<div style='font-size: 0.75rem; color: #94a3b8; font-weight: 700; text-transform: uppercase;'>Formatting</div>
<div style='font-size: 1.6rem; font-weight: 800; color: #f59e0b; margin-top: 4px;'>{format_pct}%</div>
</div>
</div>
"""
def format_skill_badges(matched_skills: list, missing_skills: list) -> str:
"""
Renders HTML skill badges (Green for matched, Red for missing).
"""
html = ["<div style='font-family: Inter, sans-serif; padding: 10px; contain: content;'>"]
html.append("<h4 style='color: #4ade80; margin-bottom: 8px;'>✅ Matched Qualifications & Skills</h4><div>")
if matched_skills:
for s in matched_skills:
html.append(f"<span style='display: inline-block; background: rgba(34, 197, 94, 0.15); color: #4ade80; border: 1px solid #22c55e; border-radius: 14px; padding: 4px 12px; margin: 4px; font-size: 13px; font-weight: 600;'>✓ {s}</span>")
else:
html.append("<span style='color: #94a3b8;'>No explicit matching skills found.</span>")
html.append("</div><br>")
html.append("<h4 style='color: #f87171; margin-bottom: 8px;'>⚠️ Missing Key Competencies from Job Description</h4><div>")
if missing_skills:
for s in missing_skills:
html.append(f"<span style='display: inline-block; background: rgba(239, 68, 68, 0.15); color: #f87171; border: 1px solid #ef4444; border-radius: 14px; padding: 4px 12px; margin: 4px; font-size: 13px; font-weight: 600;'>✗ {s}</span>")
else:
html.append("<span style='color: #4ade80;'>No major missing skills identified!</span>")
html.append("</div></div>")
return "".join(html)