File size: 6,816 Bytes
3751f09
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
{
  "_comment": "Maps canonical JD requirement concepts to the candidate's skill name variants for BM25 Stage 1 query expansion. For each JD term, all aliases are added to the BM25 query at index time and query time. type: hard_requirement = 3x scoring weight; preferred = 1x; negative = penalised if primary skill.",

  "jd_requirements": {

    "embeddings_retrieval": {
      "type": "hard_requirement",
      "description": "Production experience with embedding based retrieval systems",
      "aliases": [
        "embeddings", "text embeddings", "vector embeddings", "sentence embeddings",
        "dense retrieval", "semantic search", "semantic similarity",
        "sentence transformers", "sentence-transformers",
        "bge", "e5", "all-minilm", "mpnet", "gte",
        "openai embeddings", "ada embeddings",
        "embedding models", "representation learning",
        "bi-encoder", "dual encoder"
      ]
    },

    "vector_search_infrastructure": {
      "type": "hard_requirement",
      "description": "Vector database or hybrid search infrastructure",
      "aliases": [
        "faiss", "milvus", "qdrant", "pinecone", "weaviate",
        "opensearch", "elasticsearch", "vector search",
        "vector database", "vector store", "vector index",
        "approximate nearest neighbors", "ann", "hnsw",
        "similarity search", "knn search", "hybrid search",
        "dense vector search", "sparse retrieval"
      ]
    },

    "information_retrieval": {
      "type": "hard_requirement",
      "description": "Search and ranking systems experience",
      "aliases": [
        "information retrieval", "bm25", "tf-idf", "tfidf",
        "ranking", "learning to rank", "ltr", "lambdarank", "lambdamart",
        "recommendation systems", "recommender systems", "search ranking",
        "candidate retrieval", "passage retrieval", "document retrieval",
        "reranking", "cross-encoder", "neural ranking",
        "two-stage retrieval", "recall-precision tradeoff"
      ]
    },

    "ranking_evaluation": {
      "type": "hard_requirement",
      "description": "Evaluation frameworks for ranking systems β€” NDCG, MRR, MAP",
      "aliases": [
        "ndcg", "mrr", "map", "precision at k", "recall at k",
        "ranking evaluation", "retrieval evaluation", "offline evaluation",
        "online evaluation", "a/b testing", "experimentation",
        "eval framework", "evaluation framework",
        "mlops", "weights & biases", "wandb", "mlflow",
        "offline-to-online correlation"
      ]
    },

    "python": {
      "type": "hard_requirement",
      "description": "Strong Python β€” production-grade code quality",
      "aliases": [
        "python", "python 3", "python programming",
        "pyspark", "pytest", "fastapi", "flask", "django",
        "asyncio", "type hints", "python packaging"
      ]
    },

    "llm_finetuning": {
      "type": "preferred",
      "description": "LLM fine-tuning β€” LoRA, QLoRA, PEFT",
      "aliases": [
        "fine-tuning llms", "fine tuning", "lora", "qlora", "peft",
        "rlhf", "instruction tuning", "sft", "dpo",
        "parameter efficient fine-tuning", "adapter tuning",
        "model fine-tuning", "llm training", "rlhf"
      ]
    },

    "nlp_core": {
      "type": "preferred",
      "description": "Core NLP β€” the JD requires pre-LLM NLP depth, not just LLM wrappers",
      "aliases": [
        "nlp", "natural language processing", "text classification",
        "named entity recognition", "ner", "sentiment analysis",
        "question answering", "text generation", "summarization",
        "language models", "bert", "roberta", "electra", "transformers",
        "hugging face transformers", "huggingface", "tokenization",
        "sequence labeling", "span extraction"
      ]
    },

    "deep_learning_frameworks": {
      "type": "preferred",
      "description": "PyTorch or TensorFlow for model building",
      "aliases": [
        "pytorch", "tensorflow", "keras", "jax", "flax",
        "deep learning", "neural networks", "transformer architecture",
        "backpropagation", "gradient descent", "cuda"
      ]
    },

    "mlops_serving": {
      "type": "preferred",
      "description": "ML infrastructure, serving, and production deployment",
      "aliases": [
        "mlops", "kubeflow", "bentoml", "mlflow", "ray", "triton",
        "model serving", "model deployment", "inference optimization",
        "torchserve", "onnx", "model quantization", "model compression",
        "feature store", "model registry", "pipeline orchestration"
      ]
    },

    "llm_ecosystem": {
      "type": "preferred",
      "description": "LLM ecosystem β€” context: the JD explicitly warns against LangChain-only experience as insufficient",
      "aliases": [
        "langchain", "llm", "large language models", "rag",
        "retrieval augmented generation", "prompt engineering",
        "llama", "mistral", "chatgpt api", "openai api",
        "anthropic api", "vector search", "llama index",
        "llamaindex", "gpt-4", "claude", "gemini"
      ]
    },

    "distributed_systems": {
      "type": "preferred",
      "description": "Distributed systems or large-scale inference β€” bonus signal",
      "aliases": [
        "distributed systems", "kafka", "spark", "apache spark",
        "flink", "apache flink", "airflow", "data pipelines",
        "microservices", "system design", "scalable systems",
        "kubernetes", "docker", "redis", "cassandra", "high throughput"
      ]
    },

    "open_source_contributions": {
      "type": "preferred",
      "description": "Open-source contributions in AI/ML β€” explicit JD nice-to-have",
      "aliases": [
        "open source", "github", "open-source contributions",
        "pull requests", "maintainer", "contributor"
      ]
    }
  },

  "negative_signals": {
    "_comment": "Skills that, if dominant in a candidate's profile alongside missing core skills, are mild negative signals. Not hard filters β€” just inform the scoring.",
    "cv_speech_primary": [
      "computer vision", "image classification", "object detection",
      "speech recognition", "tts", "text to speech", "yolo",
      "image segmentation", "pose estimation", "optical flow",
      "openCV", "gans"
    ],
    "non_technical_primary": [
      "marketing", "seo", "content writing", "sales", "accounting",
      "tally", "six sigma", "project management", "photoshop",
      "illustrator", "figma", "salesforce crm", "sap"
    ],
    "recent_llm_only": [
      "langchain", "prompt engineering", "chatgpt", "openai api",
      "llama index", "llamaindex", "gpt wrapper"
    ]
  }
}