Views
No views yet
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4# Load model and tokenizer
5model_name = "rajtiwariee/auto-commit"
6tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
7model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)
8
9# Prepare your diff
10diff = """
11Diff:
12File: src/auth.py
13Language: Python
14
15Old content:
16def login(username, password):
17 user = get_user(username)
18 if user.password == password:
19 return True
20 return False
21
22New content:
23def login(username, password):
24 user = get_user(username)
25 if user and user.password == password:
26 return True
27 return False
28"""
29
30# Generate commit message
31prompt = f"Write a git commit message:\n\n{diff}\n\nCommit message:\n"
32inputs = tokenizer(prompt, return_tensors="pt")
33
34with torch.no_grad():
35 outputs = model.generate(
36 **inputs,
37 max_new_tokens=30,
38 do_sample=False, # Deterministic
39 pad_token_id=tokenizer.eos_token_id,
40 )
41
42message = tokenizer.decode(outputs[0], skip_special_tokens=True)
43print(message.split("Commit message:")[-1].strip())
44# Output: "Check for user existence before accessing password"1pip install -e .
2commit-gen generate --commit1@misc{git-commit-generator,
2 author = {Raj Tiwari},
3 title = {Git Commit Message Generator},
4 year = {2024},
5 publisher = {Hugging Face},
6 howpublished = {\url{https://huggingface.co/rajtiwariee/auto-commit}},
7}