55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
---
|
|
library_name: transformers
|
|
tags:
|
|
- git
|
|
datasets:
|
|
- Maxscha/commitbench
|
|
language:
|
|
- en
|
|
base_model:
|
|
- Qwen/Qwen2.5-Coder-3B-Instruct
|
|
pipeline_tag: text-generation
|
|
---
|
|
|
|
# Model Card for Model ID
|
|
|
|
Fine tuned Qwen2.5 3B model for writing git commit message. Used dataset Maxscha/commitbench
|
|
|
|
|
|
## Model Details
|
|
|
|
- **Developed by:** Cyrus Cheung
|
|
- **Model type:** Qwen2.5 3B
|
|
- **License:** qwen-research
|
|
- **Finetuned from model:** Qwen/Qwen2.5-Coder-3B-Instruct
|
|
|
|
## Uses
|
|
|
|
```python
|
|
from transformers.models.auto.modeling_auto import AutoModelForCausalLM
|
|
from transformers.models.auto.tokenization_auto import AutoTokenizer
|
|
|
|
model = AutoModelForCausalLM.from_pretrained("CyrusCheungkf/git-commit-3B")
|
|
tokenizer = AutoTokenizer.from_pretrained("CyrusCheungkf/git-commit-3B")
|
|
git_diff = "Output from using 'git diff'"
|
|
|
|
INSTRUCTION = """You are Git Commit Message Pro, a specialist in crafting precise, professional Git commit messages from .diff files. Your role is to analyze these files, interpret the changes, and generate a clear, direct commit message.
|
|
|
|
Guidelines:
|
|
1. Be specific about the type of change (e.g., "Rename variable X to Y", "Extract method Z from class W").
|
|
2. Prefer to write it on why and how instead of what changed.
|
|
3. Interpret the changes; do not transcribe the diff.
|
|
4. If you cannot read the entire file, attempt to generate a message based on the available information.
|
|
5. Be concise and summarize the most important changes. Keep your response in 1 sentence."""
|
|
conversation = [
|
|
{"role": "user", "content": INSTRUCTION + "\n\nInputs:\n" + git_diff},
|
|
]
|
|
tokens = tokenizer.apply_chat_template(
|
|
conversation, add_generation_prompt=True, return_tensors="pt", return_dict=True
|
|
)
|
|
output = model.generate(
|
|
inputs=tokens["input_ids"],
|
|
attention_mask=tokens["attention_mask"],
|
|
)
|
|
print(output)
|
|
``` |