Views
No views yet
A targeted repair-finetuned adapter for Pyroton, fixing correctness bugs in Python code generation.
| Bug | Description |
|---|---|
Missing import math | Model used math.sqrt() without importing math |
| Wrong edge case handling | Incorrect results for negative numbers, 0, and 1 |
Unsafe n**0.5 | Caused crashes for negative inputs |
math. without the required importis_prime() with inputs: -1, 0, 1, 2, 3, 4, 6, 9, 17, 49| Mode | Result |
|---|---|
Greedy decoding (do_sample=False) | ✅ 5/5 passing |
Sampled decoding (temperature=0.3) | ⚠️ Improved but less stable |
1from peft import PeftModel
2from transformers import AutoModelForCausalLM, AutoTokenizer
3import torch
4
5base = AutoModelForCausalLM.from_pretrained(
6 "Qwen/Qwen2.5-Coder-0.5B-Instruct",
7 dtype=torch.bfloat16,
8 device_map="auto",
9)
10
11model = PeftModel.from_pretrained(base, "shohuu/pyroton-primefix-v3")
12tokenizer = AutoTokenizer.from_pretrained("shohuu/pyroton-primefix-v3")
13tokenizer.pad_token = tokenizer.eos_token
14
15prompt = "### Instruction:\nWrite a Python function to check if a number is prime\n\n### Response:\n"
16inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
17
18outputs = model.generate(
19 **inputs,
20 max_new_tokens=220,
21 do_sample=False,
22 repetition_penalty=1.1,
23)
24
25print(tokenizer.decode(outputs[0], skip_special_tokens=True))Write a Python function to check if a number is prime1import math
2
3def is_prime(n):
4 """Check if the given integer n is prime."""
5 if n <= 1:
6 return False
7 for i in range(2, int(math.sqrt(n)) + 1):
8 if n % i == 0:
9 return False
10 return True1outputs = model.generate(
2 **inputs,
3 max_new_tokens=220,
4 do_sample=False,
5 repetition_penalty=1.1,
6)1outputs = model.generate(
2 **inputs,
3 max_new_tokens=220,
4 do_sample=True,
5 temperature=0.1,
6 top_p=0.9,
7 repetition_penalty=1.2,
8)