Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, Field | |
| from typing import List, Optional | |
| # Nested models for detailed resume sections | |
| class ContactInformation(BaseModel): | |
| email: str = Field(None, description="Email address.") | |
| phone: Optional[str] = Field(None, description='mobile number eg. +92 03011234567') | |
| linkedin: Optional[str] = None | |
| github: Optional[str] = None | |
| hugging_face: Optional[str] = None | |
| kaggle: Optional[str] = None | |
| class Education(BaseModel): | |
| institution: str | |
| degree: str | |
| start_date: Optional[str] = None | |
| end_date: Optional[str] = None | |
| class Experience(BaseModel): | |
| title: str = Field(description="Job role/title.") | |
| company: str = Field(description="Name of the company or organization.") | |
| start_date: Optional[str] = None | |
| end_date: Optional[str] = None | |
| class Project(BaseModel): | |
| name: str = Field(description="Name of a project.") | |
| description: str = Field(description="Project Description") | |
| technologies: List[str] = None | |
| url: Optional[str] = None | |
| difficulty_score: int = Field( | |
| ..., | |
| ge=1, | |
| le=10, | |
| description=( | |
| "Strictly evaluate AI engineering complexity. " | |
| "1-3: Simple 'wrapper' apps, basic prompting, or out-of-the-box RAG with a single data source. " | |
| "4-6: Production-grade apps with persistent memory, multi-step tool use (agents), " | |
| "complex data parsing (PDFs/Tables), or basic fine-tuning for style. " | |
| "7-8: Advanced architectures featuring multi-agent orchestration, self-healing loops, " | |
| "complex hybrid search (vector + keyword), or custom evaluation frameworks (LLM-as-a-judge). " | |
| "9-10: Highly complex, mission-critical systems with real-time streaming, " | |
| "multi-modal integration, or heavy optimization for cost and latency at scale. " | |
| "If the project only uses a single API call without complex logic, it must not exceed 3." | |
| ) | |
| ) | |
| # Main AI Developer Resume Schema | |
| class Resume(BaseModel): | |
| full_name: str = Field(..., description="Full name of the applicant.") | |
| contact: ContactInformation | |
| summary: str = Field(..., description="Professional summary focusing on AI/ML.") | |
| education: Optional[List[Education]] = Field( | |
| ..., description="List of educational degrees. Return null if not explicitly present." | |
| ) | |
| experience: Optional[List[Experience]] = Field( | |
| ..., description="List of experiences. Return null if not explicitly present." | |
| ) | |
| ai_ml_skills: List[str] = Field(..., description="Specific AI/ML skills (e.g., LLMs, Computer Vision).") | |
| technical_skills: List[str] = Field(..., description="Programming languages and tools.") | |
| projects: Optional[List[Project]] = None | |
| certifications: Optional[List[str]] = None | |