v1.0 Β· Apache 2.0 Β· EN

JOB
SENSE

job_description.txt β†’ structured.json

A fine-tuned 3B model that reads hiring intent and returns structured JSON β€” no regex, no patching.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     3B      β”‚     700     β”‚      9      β”‚     EN      β”‚
β”‚  parameters β”‚  max_tokens β”‚   fields    β”‚  language   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

01 β€” What it does

Paste a job description. JobSense reads hiring intent and returns clean, structured JSON.

No regex rules. No schema patching. No post-processing.

input  β†’  job_description.txt
output β†’  structured.json

02 β€” Signal extraction

Job descriptions hide signals across multiple sentences. JobSense surfaces all of them:

signals:
  - mandatory vs nice-to-have skills
  - seniority inferred from responsibilities
  - work mode: hybrid / remote / onsite
  - relocation expectations
  - immediate joining requirements
  - salary language and compensation ranges

03 β€” Live example

Input

We are looking for an experienced Backend Developer to lead our team.
FastAPI is mandatory. MongoDB, httpx, Uvicorn are preferred.
Hybrid role in Delhi. 6-8 years exp. Immediate joiners preferred.
Competitive salary.

Output

{
  "role": "Backend Developer",
  "sub_role": "FastAPI Backend Dev",
  "seniority": "senior",
  "skills": [
    { "name": "FastAPI",   "importance": "required"  },
    { "name": "MongoDB",   "importance": "preferred" },
    { "name": "httpx",     "importance": "preferred" }
  ],
  "experience": "6 to 8 years",
  "location":   "Delhi",
  "work_mode":  "hybrid",
  "joining":    "immediate",
  "salary":     "competitive"
}

04 β€” Response schema

Root fields

field type values
role string primary job title
sub_role string specialization
seniority string junior Β· mid Β· senior Β· lead
skills array see skill object below
experience string years required
location string city / region / remote
location_type string city Β· region Β· country Β· remote
work_mode string hybrid Β· remote Β· onsite
joining string immediate Β· notice_period Β· flexible
salary string compensation signal

Skill object

field type values
name string skill name
importance string required Β· preferred Β· contextual
category string skill grouping

05 β€” Quick start

Gradio API

pip install gradio_client
from gradio_client import Client

client = Client("mantraraval/jobsense-app")
result = client.predict(
    text="YOUR JOB DESCRIPTION HERE",
    api_name="/extract_jd",
)
print(result)

Local inference

pip install transformers peft accelerate torch
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel

BASE     = "unsloth/Qwen2.5-3B-Instruct"
JOBSENSE = "mantraraval/jobsense"

tokenizer = AutoTokenizer.from_pretrained(BASE, trust_remote_code=True)
model     = AutoModelForCausalLM.from_pretrained(BASE, device_map="auto")
model     = PeftModel.from_pretrained(model, JOBSENSE)

inputs = tokenizer("YOUR JOB DESCRIPTION HERE", return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=700)

print(tokenizer.decode(output[0]))

06 β€” Stack

base_model  β†’  Qwen2.5-3B
method      β†’  LoRA + PEFT
precision   β†’  float16
decoding    β†’  deterministic

07 β€” Constraints

- English only          # multi-language on roadmap
- Short JDs             # may return sparse fields
- GPU recommended       # for production throughput

08 β€” Roadmap

[ ] multi-language support
[ ] confidence scores per field
[ ] GGUF quantized release
[ ] public dataset launch

Citation

@misc{raval2025jobsense,
  author    = {Mantra Raval},
  title     = {JobSense: Structured Information Extraction from Job Descriptions},
  year      = {2025},
  publisher = {Hugging Face}
}

jobsense Β· hiring intelligence Β· by mantraraval
Downloads last month
525
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for mantraraval/jobsense

Base model

Qwen/Qwen2.5-3B
Adapter
(464)
this model

Space using mantraraval/jobsense 1