Spaces:
Sleeping
Sleeping
File size: 9,311 Bytes
37b0787 | 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 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | from __future__ import annotations
from src.core.config import DATA_DIR
SUPPORTED_LANGUAGES: dict[str, str] = {
"en": "English",
"hi": "Hindi",
"ta": "Tamil",
"te": "Telugu",
"mr": "Marathi",
"bn": "Bengali",
"kn": "Kannada",
"ml": "Malayalam",
"gu": "Gujarati",
"pa": "Punjabi",
"or": "Odia",
"as": "Assamese",
}
PROFILE_SOURCES = ("linkedin", "naukri", "github", "resume_pdf", "career_page", "manual")
SKILL_CATEGORIES = (
"programming_language",
"framework",
"tool",
"soft_skill",
"domain_knowledge",
"certification",
)
PROFICIENCY_LEVELS = ("beginner", "intermediate", "advanced", "expert")
SKILL_IMPORTANCE = ("required", "preferred", "nice_to_have")
EMPLOYMENT_TYPES = ("full_time", "part_time", "contract", "freelance", "student")
MATCH_RECOMMENDATIONS = ("strong_match", "good_match", "potential_match", "weak_match")
SEARCH_METHODS = ("hybrid", "vector_only", "keyword_only")
INDIAN_MNCS = [
"Google", "Microsoft", "Amazon", "Meta", "Apple", "Netflix",
"Uber", "Twitter", "LinkedIn", "Salesforce", "Adobe", "Oracle",
"IBM", "Intel", "Cisco", "Dell", "HP", "SAP", "Visa", "Mastercard",
"PayPal", "JP Morgan", "Goldman Sachs", "Morgan Stanley",
"Accenture", "Deloitte", "PwC", "EY", "KPMG", "McKinsey", "BCG",
"Bain & Company", "Qualcomm", "NVIDIA", "AMD", "Intel",
]
INDIAN_PRODUCT_COMPANIES = [
"Flipkart", "Zoho", "Freshworks", "Razorpay", "PhonePe", "Swiggy",
"Zomato", "Ola", "Paytm", "BYJU'S", "PolicyBazaar", "Dream11",
"Meesho", "CRED", "Postman", "Hasura", "BrowserStack", "Chargebee",
"Zenoti", "InMobi", "BigBasket", "Urban Company", "Vedantu",
"Unacademy", "Cult.fit", "Cars24", "Delhivery", "BlackBuck",
"Icertis", "Druva", "Rivigo", "Porter", "Licious", "Nykaa",
"FirstCry", "Fractal Analytics", "Tiger Analytics", "Sigmoid",
"Mu Sigma", "CitrusPay", "Fyle", "Slintel", "Whatfix",
"Innovaccer", "HealthPlix", "Practo", "PharmEasy", "1mg",
"OYO", "MakeMyTrip", "ixigo", "Cleartrip", "Rapido",
]
INDIAN_IT_SERVICES = [
"TCS", "Infosys", "Wipro", "HCL", "Tech Mahindra", "LTI",
"Mindtree", "Mphasis", "L&T Infotech", "Cognizant", "Capgemini",
"Publicis Sapient", "Persistent Systems", "Cyient", "KPIT",
"Coforge", "Hexaware", "Sonata Software", "Birlasoft",
"Zensar Technologies", "NIIT Technologies", "Oracle Financial Services",
]
INDIAN_BANKS_FINTECH = [
"HDFC Bank", "ICICI Bank", "Axis Bank", "Kotak Mahindra", "Yes Bank",
"SBI", "Bank of Baroda", "Punjab National Bank", "BharatPe",
"Groww", "Zerodha", "Upstox", "Angel One", "Kuvera", "Smallcase",
"INDmoney", "Jupiter Money", "CRED", "MobiKwik", "Freecharge",
]
INDIAN_STARTUPS = [
"Zepto", "Blinkit", "Dunzo", "ShareChat", "Moj", "Koo",
"Apna", "Gupshup", "LeadSquared", "Yellow.ai", "Yellow Messenger",
"Observe.ai", "Uniphore", "Mad Street Den", "Haptik", "Niki.ai",
"Locus.sh", "FarEye", "ElasticRun", "Ninjacart", "WayCool",
"Aye Finance", "Lendingkart", "Indifi", "NeoGrowth",
"Rebel Foods", "Chaayos", "Third Wave Coffee", "Blue Tokai",
"Ola Electric", "Ather Energy", "Bounce", "Yulu",
"Pristyn Care", "MFine", "Cure.fit", "Tata 1mg",
]
INDIAN_COMPANIES = (
INDIAN_MNCS + INDIAN_PRODUCT_COMPANIES + INDIAN_IT_SERVICES
+ INDIAN_BANKS_FINTECH + INDIAN_STARTUPS
)
INDIAN_CITIES = [
# Metro cities
"Mumbai", "Delhi", "Bangalore", "Hyderabad", "Chennai",
"Kolkata", "Pune", "Ahmedabad",
# State capitals
"Thiruvananthapuram", "Bengaluru", "Bhopal", "Bhubaneswar",
"Chandigarh", "Dehradun", "Dispur", "Gandhinagar", "Gangtok",
"Guwahati", "Hyderabad", "Imphal", "Itanagar", "Jaipur",
"Jammu", "Kohima", "Lucknow", "Panaji", "Patna", "Raipur",
"Ranchi", "Shillong", "Shimla", "Srinagar", "Amaravati",
# Tier-2 tech hubs
"Coimbatore", "Indore", "Nagpur", "Visakhapatnam", "Vadodara",
"Surat", "Nashik", "Aurangabad", "Madurai", "Tiruchirappalli",
"Mysore", "Mangalore", "Belgaum", "Hubli", "Kochi",
"Kozhikode", "Kannur", "Kollam", "Alappuzha",
# NCR region
"Gurgaon", "Gurugram", "Noida", "Faridabad", "Ghaziabad",
"Greater Noida", "Dwarka",
# Tier-2 North
"Agra", "Aligarh", "Allahabad", "Amritsar", "Bareilly",
"Chandigarh", "Gorakhpur", "Jalandhar", "Jodhpur", "Kanpur",
"Kota", "Ludhiana", "Meerut", "Moradabad", "Udaipur",
"Varanasi", "Haridwar", "Rishikesh", "Mathura", "Vrindavan",
# Tier-2 East
"Asansol", "Bokaro", "Cuttack", "Dhanbad", "Durgapur",
"Jamshedpur", "Patna", "Puri", "Rourkela", "Siliguri",
# Tier-2 West
"Bhavnagar", "Bhuj", "Gandhidham", "Jamnagar", "Junagadh",
"Porbandar", "Rajkot", "Surendranagar", "Valsad", "Vapi",
# Tier-2 South
"Guntur", "Kakinada", "Kurnool", "Nellore", "Rajahmundry",
"Tirupati", "Vijayawada", "Warangal", "Kadapa", "Anantapur",
# Tier-2 Central
"Bilaspur", "Gwalior", "Jabalpur", "Raipur", "Ujjain",
# Tier-2 Northeast
"Agartala", "Aizawl", "Dimapur", "Shillong", "Silchar",
"Tinsukia", "Jorhat",
# Satellite towns
"Electronic City", "Whitefield", "Marathahalli", "Kharadi",
"Hinjewadi", "Navi Mumbai", "Thane", "Kalyan", "Vasai",
"Panvel", "Pimpri Chinchwad", "Salt Lake City", "Rajarhat",
"New Town Kolkata", "Sriperumbudur", "Siruseri", "Oragadam",
"Devanahalli",
]
INDIAN_UNIVERSITIES = [
# IITs
"IIT Bombay", "IIT Delhi", "IIT Madras", "IIT Kanpur", "IIT Kharagpur",
"IIT Roorkee", "IIT Guwahati", "IIT Hyderabad", "IIT Jodhpur",
"IIT Patna", "IIT Bhubaneswar", "IIT Mandi", "IIT Ropar",
"IIT Gandhinagar", "IIT Palakkad", "IIT Tirupati", "IIT Bhilai",
"IIT Goa", "IIT Dharwad", "IIT Jammu",
# NITs
"NIT Trichy", "NIT Warangal", "NIT Surathkal", "NIT Calicut",
"NIT Rourkela", "NIT Durgapur", "NIT Kurukshetra", "NIT Silchar",
"NIT Allahabad", "NIT Srinagar", "NIT Patna", "NIT Raipur",
"NIT Nagpur", "NIT Jamshedpur", "NIT Bhopal", "NIT Hamirpur",
"NIT Jaipur", "NIT Meghalaya", "NIT Manipur", "NIT Mizoram",
# IIITs
"IIIT Hyderabad", "IIIT Bangalore", "IIIT Delhi", "IIIT Allahabad",
"IIIT Guwahati", "IIIT Lucknow", "IIIT Pune", "IIIT Kancheepuram",
"IIITDM Jabalpur", "IIITDM Chennai", "IIIT Vadodara", "IIIT Kota",
"IIIT Manipur", "IIIT Nagpur", "IIIT Ranchi", "IIIT Sri City",
# BITS & Pilani
"BITS Pilani", "BITS Goa", "BITS Hyderabad", "BITS Dubai",
# Premier engineering
"VIT Vellore", "SRM University", "Manipal Institute of Technology",
"Delhi Technological University", "NSUT Delhi", "IIIT Delhi",
"Punjab Engineering College", "Thapar Institute", "LPU Jalandhar",
"Shiv Nadar University", "Ashoka University", "Amrita University",
# State universities
"Anna University", "Osmania University", "JNTU Hyderabad",
"University of Mumbai", "Pune University", "Savitribai Phule Pune University",
"University of Delhi", "Jamia Millia Islamia", "AMU Aligarh",
"BHU Varanasi", "Calcutta University", "Jadavpur University",
"University of Madras", "University of Kerala", "Goa University",
"Gujarat University", "MS University Baroda", "Sardar Patel University",
# Private universities
"Christ University Bangalore", "BML Munjal University",
"Amity University", "SRM IST Chennai", "KIIT Bhubaneswar",
"SOA Bhubaneswar", "D.Y. Patil University", "Symbiosis Pune",
"NMIMS Mumbai", "VIT Chennai", "Sathyabama Chennai",
"Hindustan Institute of Technology", "SASTRA Thanjavur",
"PES University Bangalore", "RV College Bangalore",
"BMS College Bangalore", "Dayananda Sagar Bangalore",
"M.S. Ramaiah Bangalore", "CMR University Bangalore",
# NITTE
"NITTE University Mangalore", "MIT Manipal",
# IIMs (for signal value)
"IIM Ahmedabad", "IIM Bangalore", "IIM Calcutta", "IIM Lucknow",
"IIM Kozhikode", "IIM Indore", "IIM Shillong", "IIM Rohtak",
"IIM Ranchi", "IIM Raipur", "IIM Tiruchirappalli", "IIM Udaipur",
"IIM Nagpur", "IIM Jammu", "IIM Bodh Gaya", "IIM Amritsar",
"IIM Sambalpur", "IIM Sirmaur", "IIM Visakhapatnam",
# ISB
"ISB Hyderabad", "ISB Mohali",
]
DEFAULT_MIN_EXPERIENCE = 0
DEFAULT_MAX_EXPERIENCE = 50
DEFAULT_LOCATION = None
FAISS_INDEX_PATH = DATA_DIR / "indexes" / "faiss_index.bin"
FAISS_ID_MAP_PATH = DATA_DIR / "indexes" / "faiss_id_map.json"
BM25_INDEX_PATH = DATA_DIR / "indexes" / "bm25_index.pkl"
CANDIDATES_PATH = DATA_DIR / "candidates.jsonl"
PROFILES_PATH = DATA_DIR / "profiles" / "profiles.json"
QUERIES_PATH = DATA_DIR / "queries" / "queries.json"
GROUND_TRUTH_PATH = DATA_DIR / "ground_truth" / "ground_truth.json"
SAMPLE_PATH = DATA_DIR / "samples" / "sample_candidates.json"
# ββ Fairness / Bias Detection Constants ββββββββββββββββββββββββββββββ
TIER_1_CITIES: frozenset[str] = frozenset({
"bangalore", "bengaluru", "hyderabad", "pune", "chennai",
"mumbai", "kolkata", "noida", "gurgaon", "gurugram",
"delhi", "new delhi",
})
IIT_NIT_BITS: frozenset[str] = frozenset({"iit", "nit", "bits", "iiit"})
METRO_CITIES: frozenset[str] = frozenset({
"bangalore", "bengaluru", "hyderabad", "pune", "chennai",
"mumbai", "kolkata", "delhi", "new delhi", "ahmedabad",
})
|