Thinkquel: A Model Dedicated to Text-to-dbt Using Synthetic Data and a Span-Aware Objective
Paper • 2510.00186 • Published • 3
Fine-tuned 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.
| 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 |
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")
| Format | Repository |
|---|---|
| FP16 (this repo) | mach-kernel/ecu-pilot-fp16 |
| LoRA adapter only | mach-kernel/ecu-pilot-fp16-lora |
| GGUF Q4_K_M | mach-kernel/ecu-pilot-q4km |
| GGUF Q8_0 | mach-kernel/ecu-pilot-q8_0 |
Two-stage supervised fine-tuning adapted from the Thinkquel methodology:
<think> blocks before acting.All training examples use real tool responses from an indexed project — no synthetic or hallucinated tool output.
No particular reason. Just liked the sound of it.
No reason. Just liked how it sounded. Definitely not a Caesar cipher of anything. Don't look into it.