seanpoyner/smolcode-coder-bsd-3b-tools
The seanpoyner/smolcode-coder-bsd-3b-tools model is a 3.1 billion parameter LoRA fine-tune of Qwen2.5-Coder-1.5B-Instruct, developed by seanpoyner. It is specifically trained to emit native function calls, enabling agentic write-run-fix-verify loops for small coder models. This model excels at driving agentic coding assistants by ensuring 100% native tool-call emission, making it suitable for integrating with runtimes like Ollama and llama.cpp.
Loading preview...
Overview
This model, seanpoyner/smolcode-coder-bsd-3b-tools, is a LoRA fine-tune of the Qwen2.5-Coder-1.5B-Instruct base model, developed by seanpoyner. Its primary innovation is teaching the model to emit native <tool_call> function calls (token ID 151657), which is crucial for enabling agentic workflows in small language models. This addresses a limitation where base Qwen-Coder models describe tool calls as plain text, breaking agentic loops.
Key Capabilities & Features
- Native Tool-Call Emission: Achieves 100% native
<tool_call>emission in free generation on held-out prompts, a significant improvement over the base model's 0%. - Agentic Performance: Demonstrated strong performance in agentic benchmarks, solving 7 out of 10 tasks entirely on its own in the
smolcodepass@1 evaluation, matching the standalone load of a 2x larger 3B parameter model. - Specialized Training: Fine-tuned using bf16 LoRA on attention and MLP projections, with full training of
embed_tokensandlm_headto ensure proper output of the<tool_call>special token. It uses assistant-only loss for focused optimization. - Data Sources: Trained on a combination of NousResearch/hermes-function-calling-v1 for breadth and synthetic
smolcodetool-use trajectories for sharpness.
Usage Notes
- Serving Requirement: It is recommended to serve the model via the provided GGUF (
smolcode-1.5b-q4_k_m.gguf) rather than directly from safetensors, especially for Ollama. repeat_penaltySetting: Crucially,repeat_penalty(orrepetition_penalty) MUST be set to 1.0 during inference. A higher penalty will suppress the emission of the<tool_call>token, leading to incorrect output.