piykumar05i's picture
Upload README.md with huggingface_hub
2651e2c verified
|
Raw
History Blame Contribute Delete
9.05 kB
---
license: mit
language:
- en
tags:
- code
- fine-tuned
- staff-engineer
- go
- python
- java
- typescript
- mlx
- lora
- code-generation
- architecture
- reasoning
base_model: Qwen/Qwen3-14B
pipeline_tag: text-generation
library_name: mlx
model-index:
- name: pikoder-staff-engineer-14b
results:
- task:
type: text-generation
name: Staff-Engineer Code Generation
metrics:
- name: Staff Behavior Score
type: custom
value: 87.5
- name: Code Quality Score
type: custom
value: 93.0
---
# pikoder-staff-engineer-14b
**A code generation model that thinks before it codes.**
Most code models optimize for autocomplete speed. This one was trained to reason like a staff engineer: explain the approach, discuss alternatives considered and rejected, flag production concerns, and *then* write the code. Trained on real architectural decisions from production systems -- not synthetic data, not textbook exercises.
## What Makes This Different
| Capability | What It Does |
|---|---|
| **Reasoning first** | Every response begins with explicit reasoning about *why* before *what* |
| **Alternatives discussed** | Names approaches it considered and explains why it rejected them |
| **Production concerns** | Identifies error handling gaps, scale limits, monitoring needs, and operational risks |
| **Multi-language** | Go, Python, Java, and TypeScript -- trained on real patterns from each ecosystem |
| **ADR-aware** | Learned architectural decision records from production systems (e.g., "tools return structured data, agents apply intelligence") |
## Benchmark Results
| Benchmark | Score | Details |
|---|---|---|
| Staff-Engineer Behavior | **10.5 / 12 (87.5%)** | Reasoning depth, alternatives analysis, production concern identification |
| Code Quality Suite | **26 / 28 (93%)** | 7-test suite: type safety, concurrency, complete files, Redis atomicity, Spring Boot patterns, TypeScript types, architectural knowledge |
### Code Quality Breakdown
| Test | Score |
|---|---|
| Go type safety (comma-ok assertions) | 4/4 |
| Go concurrency (mutex, goroutines) | 4/4 |
| Go complete compilable file | 4/4 |
| Python Redis atomicity (Lua scripts) | 4/4 |
| Java Spring Boot patterns | 4/4 |
| TypeScript discriminated unions | 2/4 |
| Architecture decision (ADR knowledge) | 4/4 |
| **Total** | **26/28 (93%)** |
The model consistently produces responses that a senior engineer would recognize as staff-level thinking: the kind of code review comment that explains *why* the approach was chosen, not just *what* the code does.
## Quick Start
### With MLX (Apple Silicon)
```python
from mlx_lm import load, generate
model, tokenizer = load("pikoder/pikoder-staff-engineer-14b")
messages = [
{"role": "system", "content": "You are a staff-level software engineer. Think step by step before writing code."},
{"role": "user", "content": "Write an HTTP client with retry and exponential backoff in Go"}
]
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
response = generate(model, tokenizer, prompt=prompt, max_tokens=2048)
print(response)
```
### With Transformers
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "pikoder/pikoder-staff-engineer-14b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
messages = [
{"role": "system", "content": "You are a staff-level software engineer. Think step by step before writing code."},
{"role": "user", "content": "Design a rate limiter using Redis Lua scripts in Python"}
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
outputs = model.generate(inputs.to(model.device), max_new_tokens=2048)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))
```
## Usage Examples
### 1. Go: HTTP Client with Production-Grade Retry
**Prompt:**
> Write an HTTP client with retry and exponential backoff
**What you get:** Not just a retry loop. The model reasons about jitter to prevent thundering herds, discusses `context.Context` for cancellation, considers whether to retry on 429 vs 500 status codes differently, and flags that retry without idempotency guarantees can cause duplicate side effects.
### 2. Python: Redis Rate Limiter with Atomicity
**Prompt:**
> Design a rate limiter using Redis Lua scripts
**What you get:** The model explains why Lua scripts are necessary (atomicity across MULTI/EXEC is insufficient for read-modify-write), compares sliding window vs fixed window vs token bucket algorithms, identifies the race condition that plain Redis commands create, and produces a complete implementation with proper error handling for Redis connection failures.
### 3. Architecture: Tool vs Agent Responsibilities
**Prompt:**
> Should MCP tools return recommendations or raw data?
**What you get:** A structured architectural analysis grounded in the ADR-001 principle learned during training: tools should return structured data while agents apply intelligence. The model discusses separation of concerns, testability implications, and the coupling risks of embedding decision logic in tool implementations.
## Model Details
### Architecture
| Parameter | Value |
|---|---|
| Base model | Qwen3-14B (14.7B parameters) |
| Quantization | 4-bit |
| Architecture | Qwen3ForCausalLM |
| Hidden size | 5120 |
| Layers | 40 |
| Attention heads | 40 (8 KV heads, GQA) |
| Context length | 40,960 tokens |
| Vocabulary | 151,936 tokens |
### Training Configuration
| Parameter | Value |
|---|---|
| Method | LoRA (Low-Rank Adaptation) |
| LoRA rank | 16 |
| LoRA alpha | 32 |
| LoRA scale | 2.0 |
| Dropout | 0.1 |
| Learning rate | 1e-4 |
| Batch size | 2 (effective 8 with gradient accumulation) |
| Training iterations | 200 |
| Best checkpoint | Selected by validation loss (1.114) |
| Framework | MLX (mlx-lm 0.31.3) |
| Hardware | Apple M4 Pro, 48 GB unified memory |
| Peak memory | 14 GB |
### Training Data
218 curated examples drawn from real production codebases:
| Source | Description |
|---|---|
| **16 ADRs** | Architectural Decision Records documenting real design choices with context, alternatives, and consequences |
| **24 convention files** | Coding standards, naming conventions, error handling patterns across Go, Python, Java, TypeScript |
| **Git history patterns** | Commit patterns, PR descriptions, and code review discussions from production repositories |
| **Code patterns** | Production implementations demonstrating idiomatic patterns in each language |
**Language distribution:** Go (35%) / Python (35%) / Java (20%) / TypeScript (10%)
Every training example follows the same structure the model now produces: reasoning, alternatives considered, production concerns, then implementation. No synthetic data -- every example originated from real engineering decisions.
### System Prompt
The model was trained with this system prompt baked into every example:
```
You are a staff-level software engineer. Think step by step before writing code.
```
For best results, include this system prompt (or a variation of it) when generating.
## Intended Use
**Best for:**
- Generating production-quality code with architectural reasoning
- Exploring design tradeoffs for a given problem
- Getting staff-engineer-level code review perspectives
- Learning idiomatic patterns in Go, Python, Java, or TypeScript
**Not designed for:**
- Autocomplete / fill-in-the-middle (this is a chat model, not a code completion model)
- Languages outside Go, Python, Java, TypeScript (it may work but was not trained for them)
- Non-code tasks (summarization, translation, general chat)
## Limitations
- **Training scale:** 218 examples is small. The model inherits most of its capability from Qwen3-14B; the fine-tuning teaches *style* (reasoning-first responses) more than new knowledge.
- **Language coverage:** Strongest in Go and Python (35% each). Java and TypeScript coverage is narrower. TypeScript type-level programming (discriminated unions, conditional types) is the weakest area.
- **Recency:** Training data reflects codebases as of mid-2025. It does not know about libraries or APIs released after that date.
- **Quantization:** 4-bit quantization trades precision for memory efficiency. Some numerical or edge-case responses may be less precise than the full-precision model.
## Training Hardware
This model was trained entirely on consumer hardware: a single Apple M4 Pro with 48 GB unified memory. Peak training memory usage was 14 GB, completing 200 iterations in a single session. No cloud GPUs were used.
## License
MIT
## Citation
```bibtex
@misc{pikoder-staff-engineer-14b,
title={pikoder-staff-engineer-14b: A Staff-Engineer Code Model},
author={Piyush Kumar},
year={2025},
url={https://huggingface.co/pikoder/pikoder-staff-engineer-14b}
}
```