Downloads · 30 days
6
26% of all-time downloads
SomkeX/Llama-3.2-3B-RecruitSheriff
Llama-3.2-3B-RecruitSheriff is a text generation model from SomkeX. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as llama3.2.
Downloads · 30 days
6
26% of all-time downloads
All-time downloads
23
Public
Repo size
115 MB
Likes
0
Public
Click a slice to open those files.
.safetensors97.3 MB · 85%
From the Hugging Face model README
Built with Llama.
A QLoRA adapter for Llama 3.2 3B Instruct that scores a resume against a job description and returns a structured verdict: a match score out of 100, strengths grounded in the resume, and gaps relative to the job.
The point of the project was to put the output contract in the weights instead of in a prompt, so scoring behaves the same way on every call and no third-party LLM API is needed at request time.
Match Score: 60/100
Strengths:
- ...
Gaps:
- ...
Top Interview Questions:
- ...
The model was trained on one exact instruction. Matching it matters: a reworded instruction caused a complete format failure during development.
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE = "unsloth/llama-3.2-3b-instruct-unsloth-bnb-4bit"
ADAPTER = "SomkeX/Llama-3.2-3B-RecruitSheriff"
tokenizer = AutoTokenizer.from_pretrained(BASE)
model = AutoModelForCausalLM.from_pretrained(BASE, device_map="auto")
model = PeftModel.from_pretrained(model, ADAPTER)
SYSTEM_MESSAGE = "You are an expert HR recruiter and ATS system."
INSTRUCTION = "Analyze this resume against the job description."
messages = [
{"role": "system", "content": SYSTEM_MESSAGE},
{"role": "user", "content": f"{INSTRUCTION}\n\nResume: {resume_text}\n\nJob Description: {jd_text}"},
]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(inputs, max_new_tokens=600, do_sample=False)
print(tokenizer.decode(out[0], skip_special_tokens=True))
Greedy decoding (do_sample=False) is what the reference backend uses.
| Base model | Llama 3.2 3B Instruct (Unsloth 4-bit build) |
| Method | QLoRA, supervised fine-tuning (TRL SFTTrainer through Unsloth) |
| Trainable parameters | 24,313,856 of 3,237,063,680 (0.75%) |
| LoRA config | r=16, alpha=32, dropout=0.05, bias=none, on all 7 attention and MLP projections |
| Epochs / steps | 3 epochs, 225 steps, effective batch size 8 |
| Precision / optimiser | bf16, paged AdamW 8-bit |
| Final training loss | 0.2444 |
| Hardware / time | One RTX 4060 laptop GPU, 8 GB VRAM, 7m43s |
No preference optimisation (DPO) was applied. This is SFT only.
600 resume and job-description pairs, generated locally with Ollama running Llama 3.2 3B from 20 role templates. No paid API was used at any stage.
The teacher and the student are the same 3B model, so data quality is bounded by what that model can judge. This is the main ceiling on the adapter's quality.
15 held-out resume and job-description pairs, not seen in training.
| Metric | Result |
|---|---|
| Output format compliance | 100% (15/15), with up to 2 automatic retries |
| Gaps contradicted by the resume | 0 of 45 |
| Strengths grounded in the resume | 86.4% (19/22) |
| Score stability across sampled runs | about 5.8 points standard deviation |
On the strengths metric, the automated checker uses word overlap, so most flagged cases were checker limitations ("leadership" not matching "led a team"). One was a real error: the model reported a job requirement as a resume strength. That case is kept in the number rather than removed.
Two bugs were found in the evaluation code itself during this work: an instruction that had drifted from the training prompt, and a grounding checker that could not read negation. Both were fixed before these numbers were published.
Against Gemini on the same 15 pairs, this adapter tracks closely on clear mismatches but is more conservative on strong-fit candidates (roughly 60 to 80 where Gemini gives 92 to 95), and its scores cluster on a coarse grid. It learned the scoring tendencies of its training data.
Derived from Llama 3.2 and governed by the Llama 3.2 Community License. Built with Llama.