Views
No views yet
<think> reasoning traces.| Subfolder | Task | Input → Output |
|---|---|---|
query_gen | Query generation | resume → set of LinkedIn search queries |
fit_eval | Fit evaluation | (resume, job listing) → 5 × 20-pt dimensions + reasoning |
1from peft import PeftModel
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4base = "Qwen/Qwen3-8B"
5repo = "emrekuruu/job-search-lora"
6
7tokenizer = AutoTokenizer.from_pretrained(base)
8model = AutoModelForCausalLM.from_pretrained(base, dtype="bfloat16", device_map="auto")
9
10# Load one task adapter
11model = PeftModel.from_pretrained(model, repo, subfolder="query_gen")
12
13# Or swap to the other task on the same base
14model.load_adapter(repo, subfolder="fit_eval", adapter_name="fit_eval")
15model.set_adapter("fit_eval")Qwen/Qwen3-8B, bf16, SDPA attention.q_proj, k_proj, v_proj, o_proj, gate_proj,
up_proj, down_proj.SFTConfig(assistant_only_loss=True).eval_val_loss (early stopping patience=2), evaluated each epoch.emrekuruu/job-search-distill —
the query_gen_pairings config for query_gen/, the job_evals config for fit_eval/.modal_apps/train.py.total as an ordinal signal within a single candidate's shortlist,
not as cross-candidate ground truth.