Views
No views yet
⚠️ IMPORTANT: This repository contains ONLY the LoRA adapter weights.
You must load the base modelQwen/Qwen3-0.6Bseparately.
See the Usage section below for complete loading instructions.
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
4
5# Load base model
6base_model = AutoModelForCausalLM.from_pretrained(
7 "Qwen/Qwen3-0.6B",
8 torch_dtype=torch.float16,
9 device_map="auto",
10 trust_remote_code=True
11)
12
13# Load LoRA adapter
14model = PeftModel.from_pretrained(base_model, "sandeeppanem/qwen3-0.6b-resume-json")
15model.eval() # Set to evaluation mode
16
17tokenizer = AutoTokenizer.from_pretrained("sandeeppanem/qwen3-0.6b-resume-json", trust_remote_code=True)
18
19# Set padding token if not present
20if tokenizer.pad_token is None:
21 tokenizer.pad_token = tokenizer.eos_token
22 tokenizer.pad_token_id = tokenizer.eos_token_id1import torch
2import json
3
4# Prepare input
5resume_text = """Your resume text here..."""
6
7messages = [
8 {
9 "role": "system",
10 "content": "You are an expert resume parser. Extract structured information from resumes and return ONLY valid JSON. Do not include explanations or extra text."
11 },
12 {
13 "role": "user",
14 "content": f"Resume:\n{resume_text}"
15 }
16]
17
18# Apply chat template
19prompt = tokenizer.apply_chat_template(
20 messages,
21 tokenize=False,
22 add_generation_prompt=True,
23 enable_thinking=False
24)
25
26# Tokenize and generate
27inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
28
29with torch.no_grad():
30 outputs = model.generate(
31 **inputs,
32 max_new_tokens=512,
33 do_sample=False, # IMPORTANT: Use deterministic generation for JSON
34 pad_token_id=tokenizer.eos_token_id
35 )
36
37# Extract only the assistant's response (after the input prompt)
38assistant_response = tokenizer.decode(
39 outputs[0][inputs["input_ids"].shape[-1]:],
40 skip_special_tokens=True
41).strip()
42
43# Parse JSON
44try:
45 parsed_json = json.loads(assistant_response)
46 print("✓ Valid JSON")
47 print(json.dumps(parsed_json, indent=2))
48except json.JSONDecodeError as e:
49 print(f"⚠️ Invalid JSON: {e}")
50 print("Raw response:", assistant_response)1@misc{qwen3-resume-json,
2 title={Qwen3-0.6B Resume JSON Extraction Model},
3 author={Sandeep Panem},
4 year={2026},
5 publisher={Hugging Face},
6 howpublished={\url{https://huggingface.co/sandeeppanem/qwen3-0.6b-resume-json}}
7}