[Feature] JD-Augmented Scoring and Multi-Candidate Batch Processing#167
Open
0ameyasr wants to merge 5 commits into
Open
[Feature] JD-Augmented Scoring and Multi-Candidate Batch Processing#1670ameyasr wants to merge 5 commits into
0ameyasr wants to merge 5 commits into
Conversation
… for a specific JD
…ing-agent into feature/jd-analysis
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implementation Details
Usage
1. JD-Augmented 1-to-1 Scoring
Enables users to provide both a resume and a job description for detailed fit analysis:
2. Multi-Candidate Batch Processing and Shortlisting
Accepts a directory of resumes, a single job description, and a cutoff score threshold. Processes all resumes, ranks them, and outputs a shortlist of candidates meeting the minimum score:
Core Module Changes
models.py
ScoresWithJDandEvaluationDataWithJDmodels to structure enriched evaluation (with JD) outputtemplate_manager.py
jd_system_messageandjd_evaluation_criteriaprompts for fit analysisevaluator.py
_load_evaluation_prompt_with_jdfor loading the final, decorated JD-based evaluation promptevaluate_resume_with_jdto handle the JD-based evaluation flowtransform.py
transform_evaluation_response_with_jdto parse LLM output into CSV rows (to be saved)score.py
_jd_contextfunction for job description parsing from PDF to textevaluate_resume_with_jdas the core 1-to-1 scoring functiondir_mainfunction to orchestrate batch processing and ranking workflow in the directoryprint_evaluation_results_with_jdfor clean, user-facing output formatting like the base evaluation outputOutput (1-to-1):

Output (N-to-1) (snippet)

If this PR is accepted, it will close #166.