bug-fixer / bug_detector.py
venky2k1
Resolved merge conflicts from Hugging Face
983d3b8
raw
history blame
1.37 kB
<<<<<<< HEAD
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
import torch
# Load CodeT5+ model for code fixing
model_ckpt = "Salesforce/codet5p-220m"
tokenizer = AutoTokenizer.from_pretrained(model_ckpt)
model = AutoModelForSeq2SeqLM.from_pretrained(model_ckpt)
def fix_code(code):
prompt = f"fix: {code}"
inputs = tokenizer(prompt, return_tensors="pt", padding=True, truncation=True)
output = model.generate(inputs["input_ids"], max_length=256)
fixed_code = tokenizer.decode(output[0], skip_special_tokens=True)
return fixed_code.strip()
=======
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
# Load pre-trained CodeBERT model
model = AutoModelForSequenceClassification.from_pretrained("microsoft/codebert-base", num_labels=2)
tokenizer = AutoTokenizer.from_pretrained("microsoft/codebert-base")
def detect_bug(code):
inputs = tokenizer(code, return_tensors="pt", truncation=True, padding=True)
outputs = model(**inputs)
probabilities = torch.nn.functional.softmax(outputs.logits, dim=-1)
return "buggy" if probabilities[0][1] > probabilities[0][0] else "correct"
# Optional test
if __name__ == "__main__":
sample = "def multiply(a, b): return a + b"
print(detect_bug(sample))
#detects if there's a bug in code
>>>>>>> 22b22edd4386cff48f5ad4c4325e1f8524238b52