amk-coder-v2 / README.md
amkyawdev's picture
Enhanced model card with detailed documentation
ae813f9 verified
|
Raw
History Blame
7.87 kB
metadata
pipeline_tag: text-generation
license: apache-2.0
tags:
  - code-generation
  - myanmar
  - burmese
  - qwen
  - qwen2
  - qwen2.5
  - qwen2.5-coder
  - transformers
  - conversational
  - text-generation
library_name: transformers
inference:
  parameters:
    max_new_tokens: 512
    temperature: 0.2
    top_p: 0.95
    repetition_penalty: 1.1
model-index:
  - name: amk-coder-v2
    results:
      - task:
          type: text-generation
          name: Code Generation
        dataset:
          name: HumanEval
          type: openai/openai_humaneval
        metrics:
          - type: pass_at_1
            value: 50
            verified: false
          - type: pass_at_10
            value: 75
            verified: false
      - task:
          type: text-generation
          name: Python Code Generation
        dataset:
          name: MBPP
          type: abdshhayan/MBPP
        metrics:
          - type: pass_at_1
            value: 55
            verified: false

πŸ€– amk-coder-v2

Myanmar Coding Assistant - Fine-tuned from Qwen2.5-Coder-1.5B

Model License HuggingFace


πŸ“‹ Table of Contents


✨ Features

Feature Description
πŸ‡²πŸ‡² Myanmar Support Full support for Myanmar Unicode text
πŸ’» Code Generation Python, JavaScript, C++, Java, and more
πŸ› Debugging Bug detection and fixes
πŸ“– Code Explanation Line-by-line explanations
πŸ” Web Search Integration for latest documentation
🌐 Streaming Real-time response streaming
🎨 Beautiful UI Modern chat interface

πŸ“Š Model Details

Attribute Value
Base Model Qwen2.5-Coder-1.5B
Parameters 2B (2,000M)
Architecture Qwen2ForCausalLM
Hidden Size 1536
Layers 28
Attention Heads 12
Vocab Size 151,936
Context Length 32,768 tokens
Tensor Type BF16
Format Safetensors
License Apache-2.0

Training Details

Parameter Value
Framework Transformers + PEFT
Training Method LoRA fine-tuning
Learning Rate 2e-4
Epochs 3
Batch Size 8
Max Length 2048

πŸš€ Quick Start

Using Transformers (Python)

# Method 1: Pipeline (Recommended for beginners)
from transformers import pipeline

pipe = pipeline("text-generation", model="amkyawdev/amk-coder-v2")
messages = [
    {"role": "user", "content": "Python α€”α€²α€· list comprehension ရေးပါ"}
]
result = pipe(messages, max_new_tokens=512, temperature=0.2)
print(result[0]['generated_text'])

# Method 2: Direct Model Loading
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

tokenizer = AutoTokenizer.from_pretrained("amkyawdev/amk-coder-v2")
model = AutoModelForCausalLM.from_pretrained(
    "amkyawdev/amk-coder-v2",
    torch_dtype=torch.bfloat16,
    device_map="auto"
)

messages = [
    {"role": "system", "content": "You are a helpful coding assistant."},
    {"role": "user", "content": "Write a Python function to reverse a string"}
]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
outputs = model.generate(inputs, max_new_tokens=512, temperature=0.2)
response = tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True)
print(response)

Using vLLM (Production)

# Install vLLM
pip install vllm

# Start server
vllm serve "amkyawdev/amk-coder-v2" --tensor-parallel-size 1

# API call
curl -X POST "http://localhost:8000/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "amkyawdev/amk-coder-v2",
    "messages": [
      {"role": "user", "content": "Hello, write Python code"}
    ],
    "max_tokens": 512,
    "temperature": 0.2
  }'

Using SGLang

# Install SGLang
pip install sglang

# Start server
python -m sglang.launch_server --model-path "amkyawdev/amk-coder-v2" --port 30000

# API call
curl -X POST "http://localhost:30000/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "amkyawdev/amk-coder-v2",
    "messages": [{"role": "user", "content": "Write a hello world in Python"}]
  }'

πŸ’‘ Usage Examples

πŸ‡²πŸ‡² Myanmar Prompts

# Code generation in Myanmar
messages = [
    {"role": "user", "content": "Python function တစ်ခုရေးပါ။ ဂဏန်းတွေကို sorting α€œα€―α€•α€Ία€•α€±α€Έα€•α€«α‹"}
]
# Output: def sort_numbers(numbers): return sorted(numbers)

πŸ‡¬πŸ‡§ English Prompts

messages = [
    {"role": "user", "content": "Explain this code:\nfor i in range(10):\n    print(i)"}
]
# Output: This is a for loop that prints numbers 0 to 9

πŸ› Debugging

messages = [
    {"role": "user", "content": "Fix this Python code:\nprint('Hello' + 5)"}
]
# Output: TypeError fix suggestion with corrected code

πŸ”— API Endpoints

Backend Server

cd backend
pip install -r requirements.txt
export HF_TOKEN=hf_your_token
uvicorn app.main:app --host 0.0.0.0 --port 8000

Endpoints

Method Endpoint Description
GET / Health check
GET /health Service health status
POST /chat Streaming chat (SSE)
GET /demo Demo HTML interface
GET /models Model information

Request Format

# Streaming chat
curl -X POST "http://localhost:8000/chat" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {"role": "user", "content": "Write a Fibonacci function in Python"}
    ],
    "stream": true
  }'

🐳 Deployment

Docker

# Using Docker Model Runner
docker model run hf.co/amkyawdev/amk-coder-v2

# Using vLLM Docker
docker run --gpus all \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  -p 8000:8000 \
  --rm \
  vllm/vllm-openai:latest \
  --model amkyawdev/amk-coder-v2

Google Colab

Open In Colab

Kaggle

Kaggle


⚠️ Limitations

  1. Context Length - Maximum 32,768 tokens
  2. Code Quality - May generate incorrect code; verify outputs
  3. Myanmar Unicode - Best results with proper Zawgyi-to-Unicode conversion
  4. Domain Knowledge - Limited to common programming languages
  5. Safety - May produce harmful content; use responsible AI practices

πŸ“– Resources


πŸ™ Acknowledgments

  • Alibaba Cloud Qwen Team - Base model Qwen2.5-Coder
  • HuggingFace - Model hosting and infrastructure
  • Myanmar Developer Community - Testing and feedback

πŸ“ License

Apache License 2.0 - See LICENSE file for details.


πŸ“§ Contact


Made with ❀️ for Myanmar Developers