seanpoyner/smolcode-coder-bsd-3b-tools

TEXT GENERATIONConcurrent Unit Cost:1Model Size:3.1BQuant:BF16Context Size:32kTool Calling:SupportedPublished:Jun 15, 2026License:apache-2.0Architecture:Transformer Open Weights Featherless Exclusive Cold

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 smolcode pass@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_tokens and lm_head to 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 smolcode tool-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_penalty Setting: Crucially, repeat_penalty (or repetition_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.