| | --- |
| | license: apache-2.0 |
| | base_model: openai/gpt-oss-20b |
| | tags: |
| | - merge-conflicts |
| | - git-automation |
| | - developer-tools |
| | - code-generation |
| | - version-control |
| | - devops |
| | languages: |
| | - en |
| | pipeline_tag: text-generation |
| | library_name: transformers |
| | datasets: |
| | - SoarAILabs/merge-conflict-dataset |
| | metrics: |
| | - name: exact_match |
| | type: exact_match |
| | value: 22.0 |
| | - name: token_f1 |
| | type: f1 |
| | value: 0.617 |
| | - name: bleu |
| | type: bleu |
| | value: 50.82 |
| | - name: rouge-l |
| | type: rouge |
| | value: 58.64 |
| | - name: levenshtein_sim |
| | type: similarity |
| | value: 0.549 |
| | - name: char_similarity |
| | type: similarity |
| | value: 0.765 |
| | |
| | model-index: |
| | - name: KiteResolve-20B |
| | results: |
| | - task: |
| | type: text-generation |
| | name: Merge Conflict Resolution |
| | metrics: |
| | - name: Exact Match |
| | type: exact_match |
| | value: 22.0 |
| | - name: Token F1 |
| | type: f1 |
| | value: 0.617 |
| | - name: BLEU |
| | type: bleu |
| | value: 50.82 |
| | - name: ROUGE-L |
| | type: rouge |
| | value: 58.64 |
| | - name: Levenshtein Similarity |
| | type: similarity |
| | value: 0.549 |
| | - name: Character Similarity |
| | type: similarity |
| | value: 0.765 |
| | --- |
| | |
| | # 🪁 KiteResolve-20B: AI-Powered Merge Conflict Resolution |
| |
|
| | *Developed by [Soar AI Labs](https://huggingface.co/SoarAILabs)* |
| |
|
| | <div align="center"> |
| | <img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License"> |
| | <img src="https://img.shields.io/badge/Model-20B%20Parameters-red.svg" alt="Parameters"> |
| | <img src="https://img.shields.io/badge/Task-Code%20Generation-green.svg" alt="Task"> |
| | <img src="https://img.shields.io/badge/BLEU-54.83-orange.svg" alt="BLEU Score"> |
| | </div> |
| |
|
| | ## 🚀 Model Description |
| |
|
| | **KiteResolve-20B** is a fine-tuned version of GPT-OSS-20B specifically engineered for **automated Git merge conflict resolution**. This model transforms the tedious process of manually resolving merge conflicts into an intelligent, automated workflow that understands code semantics across multiple programming languages. |
| |
|
| | ### ✨ Key Features |
| |
|
| | - 🎯 **20% Exact Match Accuracy** on real-world merge conflicts |
| | - 📈 **12% Token-F1 Score Improvement** over base model |
| | - 🌐 **Multi-Language Support**: Java, JavaScript, Python, C#, TypeScript, and more |
| | - ⚡ **Fast Inference**: Optimized for CLI and webhook integrations |
| | - 🔧 **Production Ready**: Designed for enterprise Git workflows |
| |
|
| | ## 📊 Performance Metrics |
| | | Model | Exact Match | Token F1 | BLEU | ROUGE-L | Char Sim | |
| | | ------------------- | ----------- | --------- | --------- | --------- | --------- | |
| | | **codellama:13b** | 0.00 | 0.193 | 13.28 | 0.208 | 0.710 | |
| | | **llama3.1:8b** | 0.04 | 0.583 | 50.59 | 0.610 | 0.818 | |
| | | **gpt-oss:20b** | **0.24** | 0.549 | 47.19 | 0.572 | 0.736 | |
| | | **KiteResolve-20B** | 0.22 | **0.617** | **50.82** | **0.586** | **0.765** | |
| |
|
| | *Evaluated on 50 held-out samples from real-world merge conflicts.* |
| |
|
| | ## 🛠️ Usage |
| |
|
| | ### Quick Start |
| |
|
| | ```python |
| | from transformers import AutoModelForCausalLM, AutoTokenizer |
| | from unsloth.chat_templates import get_chat_template |
| | |
| | # Load the model |
| | model = AutoModelForCausalLM.from_pretrained("SoarAILabs/KiteResolve-20B") |
| | tokenizer = AutoTokenizer.from_pretrained("SoarAILabs/KiteResolve-20B") |
| | tokenizer = get_chat_template(tokenizer, chat_template="gpt-oss") |
| | |
| | # Resolve a merge conflict |
| | conflict = """ |
| | <<<<<<< ours |
| | function calculateTotal(items) { |
| | return items.reduce((sum, item) => sum + item.price, 0); |
| | } |
| | ======= |
| | function calculateTotal(items) { |
| | return items.map(item => item.price).reduce((a, b) => a + b, 0); |
| | } |
| | >>>>>>> theirs |
| | """ |
| | |
| | messages = [{"role": "user", "content": f"Resolve this merge conflict:\n```{conflict}```"}] |
| | prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) |
| | |
| | inputs = tokenizer([prompt], return_tensors="pt") |
| | outputs = model.generate(**inputs, max_new_tokens=200, do_sample=False) |
| | |
| | resolution = tokenizer.decode(outputs[0], skip_special_tokens=True) |
| | print(resolution) |
| | ``` |
| |
|
| | ### Ollama 🦙️ |
| | ```bash |
| | ollama run hf.co/SoarAILabs/KiteResolve-20B/model-q4_k_m.gguf |
| | ``` |