| --- |
| 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. |
| |