ecu-pilot-fp16 / README.md
mach-kernel's picture
Upload README.md with huggingface_hub
90fc835 verified
---
license: apache-2.0
base_model: Qwen/Qwen3.5-35B-A3B-Base
tags:
- lora
- fine-tuned
- tool-calling
- mcp
- dbt
---
# ecu-pilot (FP16)
Fine-tuned [Qwen3.5-35B-A3B-Base](https://huggingface.co/Qwen/Qwen3.5-35B-A3B-Base) for structured tool calling against project metadata via MCP.
Trained to accurately call 9 tools β€” lineage traversal, impact analysis, test coverage reporting, schema introspection, search, and more β€” with valid arguments and well-synthesized answers grounded in real tool output.
## Model details
| | |
|---|---|
| **Base model** | Qwen3.5-35B-A3B-Base |
| **Architecture** | Mixture of Experts (35B total, 3B active per token) |
| **Fine-tuning method** | bf16 LoRA (r=16, alpha=16) |
| **Training stages** | Stage 1: tool mechanics (1 epoch, 1,206 examples) / Stage 2: structured planning (2 epochs, 290 examples) |
| **Hardware** | NVIDIA H200 141GB, ~1 hour total |
| **Training data** | 1,206 ChatML examples with real tool responses from indexed project metadata |
## Usage
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model = AutoModelForCausalLM.from_pretrained(
"mach-kernel/ecu-pilot-fp16",
torch_dtype=torch.bfloat16,
device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained("mach-kernel/ecu-pilot-fp16")
```
## Quantized variants
| Format | Repository |
|--------|-----------|
| FP16 (this repo) | [mach-kernel/ecu-pilot-fp16](https://huggingface.co/mach-kernel/ecu-pilot-fp16) |
| LoRA adapter only | [mach-kernel/ecu-pilot-fp16-lora](https://huggingface.co/mach-kernel/ecu-pilot-fp16-lora) |
| GGUF Q4_K_M | [mach-kernel/ecu-pilot-q4km](https://huggingface.co/mach-kernel/ecu-pilot-q4km) |
| GGUF Q8_0 | [mach-kernel/ecu-pilot-q8_0](https://huggingface.co/mach-kernel/ecu-pilot-q8_0) |
## Training methodology
Two-stage supervised fine-tuning adapted from the [Thinkquel](https://arxiv.org/abs/2510.00186) methodology:
1. **Stage 1 β€” Tool mechanics**: Teaches the model what tools exist, how to format calls, and how to interpret responses.
2. **Stage 2 β€” Structured planning**: Teaches the model to reason about *when* and *why* to call tools using `<think>` blocks before acting.
All training examples use real tool responses from an indexed project β€” no synthetic or hallucinated tool output.
## Why "ecu"
No particular reason. Just liked the sound of it.
## Why ecu
No reason. Just liked how it sounded. Definitely not a Caesar cipher of anything. Don't look into it.