Text Generation
MLX
Safetensors
English
qwen3
code
fine-tuned
staff-engineer
go
python
java
typescript
lora
code-generation
architecture
reasoning
conversational
Eval Results (legacy)
Instructions to use piykumar05i/pikoder-staff-engineer-14b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use piykumar05i/pikoder-staff-engineer-14b with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("piykumar05i/pikoder-staff-engineer-14b") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use piykumar05i/pikoder-staff-engineer-14b with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "piykumar05i/pikoder-staff-engineer-14b"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "piykumar05i/pikoder-staff-engineer-14b" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use piykumar05i/pikoder-staff-engineer-14b with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "piykumar05i/pikoder-staff-engineer-14b"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default piykumar05i/pikoder-staff-engineer-14b
Run Hermes
hermes
- OpenClaw new
How to use piykumar05i/pikoder-staff-engineer-14b with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "piykumar05i/pikoder-staff-engineer-14b"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "piykumar05i/pikoder-staff-engineer-14b" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- MLX LM
How to use piykumar05i/pikoder-staff-engineer-14b with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "piykumar05i/pikoder-staff-engineer-14b"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "piykumar05i/pikoder-staff-engineer-14b" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "piykumar05i/pikoder-staff-engineer-14b", "messages": [ {"role": "user", "content": "Hello"} ] }'
| 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} | |
| } | |
| ``` | |