Lesson 162 — Advanced

Resume ↔ JD Screening Agent

HR teams ke paas hundreds resumes aate hain — yeh agent triage karta hai: JD se requirements nikaalta hai, har resume se match karta hai, aur structured score deta hai. Final decision insaan leta hai; agent sirf rank aur reasons deta hai.

⏱ 20 min• Advanced• Document Q&A Platform

Project kya hai

WHAT

Ek agent jo JD ko structured requirements mein toda, resume se skills/experience nikal kar score + evidence ke saath report de. Output fixed JSON — data analyst bhi directly use kar sake.

WHEN

Recruitment agencies, HR teams, campus placements — jagah jahan ek hi role ke50–500 aayein aur manually shortlist karna impossible ho.

WHERE

FastAPI service ya batch script: CSV of resumes in, ranked JSON/CSV out. Screening ke baad human review queue.

Yeh project ka dikkat scoring subjective hai — isliye asli kaam score ko defend karne layak banana hai: har score ke saath evidence (resume ki line) aur ek fixed rubric.

Positioning: Product ko "screening assistant" bolo, "hiring automation" nahi — decision hamesha insaan ke paas, agent sirf order aur reasons deta hai.

Structured output — schema hi contract hai

from pydantic import BaseModel
from typing import Literal

class SkillMatch(BaseModel):
    skill: str
    verdict: Literal["matched", "partial", "missing"]
    evidence: str          # resume se hi line, model ke fabrications nahi

class Screening(BaseModel):
    overall_score: int      # 0-100
    must_have_gaps: list[str]
    matches: list[SkillMatch]
    recommendation: Literal["interview", "reject", "needs_review"]

result = client.responses.parse(
    model=MODEL,
    messages=[{"role": "user", "content": prompt}],
    text_format=Screening,        # model ya SDK se schema enforce
)
Evidence mandatory: Har skill verdict ke saath resume ki exact line wapas maango. Evidence ke bina score = model ka andaza, jo interview mein defend nahi hoga.

Matching logic — kya score hota hai

Scoring ko deterministic + LLM ka mix rakho: jo ho sakta hai code se (years, degree keyword), woh code se; jo nuance hai (skill depth, transfer learning), woh LLM se.

def rubric_score(reqs, matches):
    must = sum(1 for r in reqs.must_have if any(
        m.skill == r and m.verdict == "matched" for m in matches))
    gap = [r for r in reqs.must_have if r not in {m.skill for m in matches
           if m.verdict == "matched"}]
    if gap:
        return {"overall_score": min(59, must * 10), "must_have_gaps": gap}
    bonus = sum(1 for m in matches if m.verdict == "matched") * 3
    return {"overall_score": min(100, 60 + bonus), "must_have_gaps": []}
Rubric pehle likho: Rubric code likhne se PEHLE humans ke saath likho (must-have miss = cap at59 jaisa rule). Baad mein rubric badalna = scores badal jaate hain, trend tootta hai.

Fairness guardrails

Hiring data mein puraane biases hote hain — model unhe seekh kar repeat kar sakta hai. Guardrails project ka feature hain, disclaimer nahi:

Law ya ethics, dono: Employment decisions par automated rejection duniya bhar mein regulations se chalta hai (India mein DPDP Act bhi lagta hai). Yeh system support karta hai — decide insaan karta hai.

Evaluation aur pitfalls

Common trap: Model ko poora resume daal kar "batao kaisa hai" bol dena = yeh project nahi. Structure (requirements, rubric, evidence, JSON) — yahi asli engineering hai.

Exercise

Question: Consistent machine-readable result ke liye model se kya define karte hain? (ek shabd)

Question: Is tool ko final hiring decision lena chahiye — haan ya nahi?

Question: Structured score/result ko machine-readable banane ka format (acronym likho)

Common mistakes

Desi example: Papa ki dukaan ka checklist

Papa khade customer ko dekh ke andaza laga lete hain — par scale par andaza nahi chalta, checklist chalti hai (budget, need, history). Agent wahi checklist enforce karta hai, mood nahi:

text
requirements = extract(jd)                 # checklist bani
for r in resumes:
    score = rubric_match(requirements, r)   # wahi rule har par
    result = {"resume": r.id, "score": score, "next": "human review"}
Interview angle — yahan se sawaal aate hain
  • Q: Structured output kaise enforce karoge? (JSON schema / function calling + pydantic validation + clamp)
  • Q: Screening system mein bias kaise check karoge? (blind fields, audit slice, agreement rate, reject reasons)
  • Q: Model ne resume mein na-dikhni wali skill likh di toh? (fabrication test — evidence field mandatory, mismatch par flag)
  • Q: Ye product kaise monetize/position karte ho? (time-to-shortlist metric, human-in-the-loop positioning, DPDP compliance point)
Lesson complete?

Schema, rubric aur guardrails — teenon project ke core hain. Ab ek chhote sa dataset (20 resumes) par rubric version1 chala kar dekho.

Popular courses: Data Science Course in Lucknow · AI Course in Lucknow · Python Course in Lucknow · Power BI Course · Data Analytics Course