Spaces:
Paused
Paused
""" | |
Configuration file for AI Resume Screener | |
Modify these settings to customize the application behavior | |
""" | |
# Model Configuration | |
MODELS = { | |
"embedding_model": "BAAI/bge-large-en-v1.5", | |
"cross_encoder": "cross-encoder/ms-marco-MiniLM-L6-v2", | |
"llm_model": "Qwen/Qwen2-1.5B", # Using smaller model for compatibility | |
} | |
# Pipeline Configuration | |
PIPELINE_CONFIG = { | |
"faiss_recall_top_k": 50, | |
"cross_encoder_top_k": 20, | |
"max_text_length": 8000, | |
"embedding_dimension": 1024, | |
} | |
# Scoring Weights (must sum to 1.0) | |
SCORING_WEIGHTS = { | |
"cross_encoder": 0.5, | |
"bm25": 0.3, | |
"intent": 0.2, | |
} | |
# Intent Analysis Configuration | |
INTENT_CONFIG = { | |
"max_prompt_length": 1024, | |
"max_new_tokens": 10, | |
"temperature": 0.1, | |
"intent_scores": { | |
"yes": 0.9, | |
"maybe": 0.5, | |
"no": 0.1, | |
} | |
} | |
# File Processing Configuration | |
FILE_CONFIG = { | |
"supported_formats": ["pdf", "docx", "txt", "csv"], | |
"max_file_size_mb": 10, | |
"max_files_per_upload": 50, | |
} | |
# UI Configuration | |
UI_CONFIG = { | |
"page_title": "π€ AI Resume Screener", | |
"page_icon": "π€", | |
"layout": "wide", | |
"sidebar_state": "expanded", | |
"max_display_resumes": 100, | |
} | |
# Performance Configuration | |
PERFORMANCE_CONFIG = { | |
"use_gpu": True, | |
"quantization": True, | |
"batch_size": 32, | |
"cache_models": True, | |
} | |
# Skills Database | |
TECHNICAL_SKILLS = [ | |
# Programming Languages | |
'python', 'java', 'javascript', 'typescript', 'c++', 'c#', 'go', 'rust', | |
'scala', 'r', 'matlab', 'php', 'ruby', 'swift', 'kotlin', 'dart', | |
# Web Technologies | |
'html', 'css', 'react', 'angular', 'vue', 'node.js', 'express', 'django', | |
'flask', 'fastapi', 'spring', 'laravel', 'bootstrap', 'tailwind', | |
# Databases | |
'sql', 'mongodb', 'postgresql', 'mysql', 'redis', 'elasticsearch', | |
'cassandra', 'dynamodb', 'sqlite', 'oracle', | |
# Cloud & DevOps | |
'aws', 'azure', 'gcp', 'docker', 'kubernetes', 'terraform', 'ansible', | |
'jenkins', 'gitlab', 'github', 'ci/cd', 'devops', 'microservices', | |
# Data Science & ML | |
'machine learning', 'deep learning', 'tensorflow', 'pytorch', 'keras', | |
'scikit-learn', 'pandas', 'numpy', 'matplotlib', 'plotly', 'seaborn', | |
'jupyter', 'spark', 'hadoop', 'kafka', 'airflow', | |
# Analytics & BI | |
'tableau', 'powerbi', 'excel', 'google analytics', 'mixpanel', 'amplitude', | |
'looker', 'qlik', 'sas', 'spss', 'stata', | |
# Operating Systems & Tools | |
'linux', 'ubuntu', 'centos', 'windows', 'macos', 'bash', 'powershell', | |
'git', 'vim', 'vscode', 'intellij', 'eclipse', | |
# Methodologies | |
'agile', 'scrum', 'kanban', 'lean', 'waterfall', 'tdd', 'bdd', | |
# Networking & Security | |
'tcp/ip', 'http', 'https', 'ssl', 'oauth', 'jwt', 'api', 'rest', 'graphql', | |
'nginx', 'apache', 'load balancing', 'vpn', 'firewall', | |
] | |
# Job Categories for Enhanced Matching | |
JOB_CATEGORIES = { | |
"software_engineer": [ | |
"programming", "coding", "development", "software", "engineer", "developer" | |
], | |
"data_scientist": [ | |
"data", "analytics", "machine learning", "statistics", "modeling", "scientist" | |
], | |
"devops_engineer": [ | |
"devops", "infrastructure", "deployment", "automation", "cloud", "operations" | |
], | |
"product_manager": [ | |
"product", "manager", "strategy", "roadmap", "requirements", "stakeholder" | |
], | |
"designer": [ | |
"design", "ui", "ux", "user experience", "interface", "visual", "creative" | |
], | |
"marketing": [ | |
"marketing", "campaign", "brand", "social media", "content", "seo", "sem" | |
], | |
"sales": [ | |
"sales", "business development", "account", "revenue", "client", "customer" | |
] | |
} | |
# Default Job Description Template | |
DEFAULT_JOB_DESCRIPTION = """ | |
Software Engineer - Full Stack Development | |
We are looking for a talented Software Engineer to join our growing team. | |
Requirements: | |
- 3+ years of experience in software development | |
- Proficiency in Python, JavaScript, and SQL | |
- Experience with React and Node.js | |
- Knowledge of cloud platforms (AWS, Azure, or GCP) | |
- Familiarity with Docker and CI/CD pipelines | |
- Strong problem-solving and communication skills | |
Responsibilities: | |
- Develop and maintain web applications | |
- Collaborate with cross-functional teams | |
- Write clean, maintainable code | |
- Participate in code reviews | |
- Contribute to technical architecture decisions | |
Nice to have: | |
- Experience with machine learning | |
- Knowledge of microservices architecture | |
- DevOps experience | |
- Open source contributions | |
""" | |
# Error Messages | |
ERROR_MESSAGES = { | |
"models_not_loaded": "β AI models are still loading. Please wait...", | |
"no_job_description": "β Please enter a job description", | |
"no_resumes": "β Please load some resumes first", | |
"file_processing_error": "β Error processing file: {filename}", | |
"model_loading_error": "β Error loading model: {model_name}", | |
"pipeline_error": "β Error in pipeline stage: {stage}", | |
} | |
# Success Messages | |
SUCCESS_MESSAGES = { | |
"models_loaded": "β All AI models loaded successfully!", | |
"files_processed": "β Processed {count} resume files", | |
"pipeline_complete": "β Resume screening pipeline completed!", | |
"results_exported": "β Results exported successfully", | |
} | |
# Validation Rules | |
VALIDATION_RULES = { | |
"min_job_description_length": 50, | |
"max_job_description_length": 10000, | |
"min_resume_length": 20, | |
"max_resume_length": 20000, | |
"min_resumes_for_ranking": 1, | |
"max_resumes_for_ranking": 1000, | |
} |