Views
No views yet
1lora_config = LoraConfig(
2 r=16, # Rank
3 lora_alpha=32,
4 target_modules=["q_proj", "v_proj"], # LoRA on attention layers
5 lora_dropout=0.05,
6 bias="none",
7 task_type="CAUSAL_LM"
8)1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftModel
4
5# Load base model and tokenizer
6model_name = "Qwen/Qwen2-7B-Instruct"
7tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
8tokenizer.pad_token = tokenizer.eos_token
9
10# Load model with adapter weights
11model = AutoModelForCausalLM.from_pretrained(
12 model_name,
13 device_map="auto",
14 load_in_4bit=True,
15 trust_remote_code=True
16)
17
18# Load LoRA adapter
19adapter_path = "PATH_TO_ADAPTER" # Update with your model path
20model = PeftModel.from_pretrained(model, adapter_path)1def improve_code(code, max_new_tokens=200):
2 # Format prompt in the same way as training
3 prompt = f"### Instruction:\nFix the following buggy code:\n{code}\n\n### Response:\n"
4
5 # Tokenize
6 inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
7
8 # Generate
9 with torch.no_grad():
10 outputs = model.generate(
11 **inputs,
12 max_new_tokens=max_new_tokens,
13 temperature=0.7,
14 do_sample=True,
15 pad_token_id=tokenizer.eos_token_id,
16 repetition_penalty=1.1
17 )
18
19 # Decode only the generated part
20 generated_text = tokenizer.decode(
21 outputs[0][inputs.input_ids.shape[1]:],
22 skip_special_tokens=True
23 )
24
25 return generated_text
26
27# Example usage
28buggy_code = """
29def calculate_average(numbers):
30 return sum(numbers) / len(numbers)
31"""
32
33improved_code = improve_code(buggy_code)
34print(improved_code)1@misc{qwen2-7b-code-improvement,
2 author = {Tharun Kumar},
3 title = {Qwen2-7B-Instruct Fine-tuned for Code Improvement},
4 year = {2025},
5 publisher = {HuggingFace},
6 howpublished = {\url{https://huggingface.co/Tharun007/qwen2-7b-code}}
7}