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

TEXT GENERATIONConcurrency Cost:1Model Size:3.1BQuant:BF16Ctx Length:32kTool Calling:SupportedPublished:Jun 14, 2026License:apache-2.0Architecture:Transformer Open Weights Cold

The seanpoyner/smolcode-coder-dotnet-3b-tools is a 3.1 billion parameter LoRA fine-tune of Qwen2.5-Coder-1.5B-Instruct, specifically designed to enable native function call emission. This model is optimized for agentic coding loops, allowing small language models to drive tool-use interactions effectively. It addresses the limitation of base Qwen-Coder models by providing direct tool call parsing, making it suitable for integrating into agentic coding assistants.

Loading preview...

Model Overview

This model, seanpoyner/smolcode-coder-dotnet-3b-tools, is a LoRA fine-tune of the Qwen/Qwen2.5-Coder-1.5B-Instruct base model, with 3.1 billion parameters. Its primary purpose is to enable small coder models to emit native <tool_call> function calls, which are directly parseable by runtimes like Ollama and llama.cpp. This capability is crucial for driving agentic coding loops, as standard Qwen-Coder models typically output tool calls as plain-text JSON, which breaks such loops.

Key Capabilities

  • Native Tool Call Emission: Generates <tool_call>{"name": ..., "arguments": ...}</tool_call> format, facilitating direct integration with agentic systems.
  • Agentic Coding Support: Specifically built for smolcode, an SLM-optimized agentic coding assistant, to enable robust tool-use trajectories.
  • Efficient Fine-tuning: Utilizes bf16 LoRA on attention and MLP projections with assistant-only loss, focusing on tool calls and final answers.
  • Template Consistency: Version 2 (v2) ensures training and inference use a shared apply_chat_template(tools=...), resolving template mismatch issues found in v1.

Training Details

The model was trained on a combination of the NousResearch/hermes-function-calling-v1 dataset for breadth and synthetic smolcode tool-use trajectories for sharpness on specific tools. Training involved 3 epochs with a full 2048 sequence length, ensuring the training target was byte-identical to the served prompt. The v2 release is gated on achieving a free-generation tool-call parse-rate evaluation of \u226590% on held-out smolcode prompts.