Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text generation

Qwen3.5-2B-tool-router-v2-q4f16_1-MLC

by Fuk Kwang tfukkwang/Qwen3.5-2B-tool-router-v2-q4f16_1-MLC

Qwen3.5-2B-tool-router-v2-q4f16_1-MLC is an open-weight model for text generation from Fuk Kwang, released under Apache License 2.0. Its published files total 1.1 GB.

A fine-tune of Qwen/Qwen3.5-2B that works as a tool router in pure mode: it answers every user message with exactly one tool call and writes no text. The app writes every sentence. It runs in the browser with WebLLM on WebGPU. Download: 1.1 GB.

Parameters—
Context—
Weights1.1 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By Fuk Kwang, published under apache-2.0, revision bdadf5ff66ed.

A fine-tune of Qwen/Qwen3.5-2B that works as a tool router in pure mode: it answers every user message with exactly one tool call and writes no text. The app writes every sentence. It runs in the browser with WebLLM on WebGPU. Download: 1.1 GB. This is the f16 build: it needs the WebGPU shader-f16 feature. The f32 build (tfukkwang/Qwen3.5-2B-tool-router-v2-q4f321-MLC) has the same weights and runs on any WebGPU. Every reply is one: - Greetings, thanks, goodbyes, "what can you do": smalltalk. - Requests that have nothing to do with the app: unsupported. - A request that needs an id the user did not give: askuser. The app should force one tool call per reply with a grammar (WebLLM structural…

Read Fuk Kwang's full model card

Qwen3.5-2B tool router v2 (q4f16_1, MLC / WebLLM)

A fine-tune of Qwen/Qwen3.5-2B that works as a tool router in pure mode: it answers every user message with exactly one tool call and writes no text. The app writes every sentence. It runs in the browser with WebLLM on WebGPU. Download: 1.1 GB.

This is the f16 build: it needs the WebGPU shader-f16 feature. The f32 build (tfukkwang/Qwen3.5-2B-tool-router-v2-q4f32_1-MLC) has the same weights and runs on any WebGPU.

Demo: tfukkwang/credit-copilot-demo

What the model does

Every reply is one <tool_call>: - Data requests: the app's list, count, record and chart tools, with filters taken from the user's words. - Judgement and advice: the app's expert tool. - Actions (approve, cancel, ...): only when the user explicitly asks. - Greetings, thanks, goodbyes, "what can you do": small_talk. - Requests that have nothing to do with the app: unsupported. - A request that needs an id the user did not give: ask_user.

The app should force one tool call per reply with a grammar (WebLLM structural tags), as the demo does.

Training

  • Data: 3,000 generated pure-mode conversations about 30 made-up apps (orders, tickets, clinics, fleets, ...). Each app has its own tool names, arguments and enums, so the model learns tool routing in general, not one app.
  • Method: LoRA (r=16) SFT on the stock Qwen3.5-2B, 2 epochs, bf16.
  • Conversion: merged weights converted to MLC q4f16_1 for the official Qwen3.5-2B WebGPU library. No new compilation.

Evaluation

Browser test on four apps that were not in the training data (credit underwriting, support desk, leave requests, shop orders; 82 turns): 74/82 router alone, 76/82 after the app's code guards. The guards are small code fixes in the app (for example, a missing id is asked for instead of guessed).

Usage with WebLLM

import { CreateMLCEngine, prebuiltAppConfig } from "https://esm.run/@mlc-ai/[email protected]";

const appConfig = {
  model_list: [...prebuiltAppConfig.model_list, {
    model: "https://huggingface.co/tfukkwang/Qwen3.5-2B-tool-router-v2-q4f16_1-MLC",
    model_id: "Qwen3.5-2B-router",
    model_lib: "https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/web-llm-models/v0_2_84/base/Qwen3.5-2B-q4f16_1_cs1k-webgpu.wasm", required_features: ["shader-f16"],
  }],
};
const engine = await CreateMLCEngine("Qwen3.5-2B-router", { appConfig });

Put the tools in the system prompt in Qwen's format (<tools>...</tools>) and parse <tool_call> blocks. Use greedy decoding (temperature: 0) and extra_body: { enable_thinking: false }.

Limitations

  • Routing only. It is not a chat model.
  • It still sometimes drops a requested filter or sort order, or counts when the user asked for a list. Check the call in code where it matters.
  • Never let it run action tools without the user's explicit words; check that in the app.

Identity and Version

Repository
tfukkwang/Qwen3.5-2B-tool-router-v2-q4f16_1-MLC
Publisher
Fuk Kwang
Task
Text generation
Modality
Text
Library
mlc-llm
Parameters
Not stated by the source
Languages
mlc-llm
Revision
bdadf5ff66ed3145829d7d2599e3f7abf39d2629
First published
2026-10-05
Last updated
2026-10-05

Files and Weights

40 files, 1.1 GB in total. The weights are 31 files totalling 1.1 GB in bin.

Weights31 files · 1.1 GB
Configuration2 files · 76.7 KB
Tokenizer4 files · 22.9 MB
Documentation2 files · 14.9 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
params_shard_0.binWeights254.3 MB a7e3d18a286e
params_shard_1.binWeights31.8 MB 4868da5e2aec
params_shard_10.binWeights28.3 MB 460a8be6fb9f
params_shard_11.binWeights21.2 MB 2632f948619a
params_shard_12.binWeights28.3 MB 88de8c3abf2d
params_shard_13.binWeights21.2 MB f13593a9b60c
params_shard_14.binWeights28.3 MB 60a151b52426
params_shard_15.binWeights21.2 MB 4fefb85f5f38
params_shard_16.binWeights28.3 MB 314008f03069
params_shard_17.binWeights21.2 MB 2a3a2bcfed3a
params_shard_18.binWeights28.3 MB 0ec97a8f851c
params_shard_19.binWeights28.3 MB bcdfa687b243
params_shard_2.binWeights28.3 MB 64af2b06a7a9
params_shard_20.binWeights28.3 MB 602a46d04ae7
params_shard_21.binWeights28.3 MB dcf388a09bbc
params_shard_22.binWeights28.3 MB 4bf67de950cf
params_shard_23.binWeights28.3 MB 98e78139dda7
params_shard_24.binWeights21.2 MB 7fad4adffb20
params_shard_25.binWeights28.3 MB 7117187c9a32
params_shard_26.binWeights33.0 MB 308c7fff85a0
params_shard_27.binWeights33.0 MB 00409ea3035c
params_shard_28.binWeights33.0 MB 514dfb39ac02
params_shard_29.binWeights33.0 MB be4c8d38ef85
params_shard_3.binWeights21.2 MB 41406c48c522
params_shard_30.binWeights25.4 MB dc5956155214
params_shard_4.binWeights21.2 MB 227a1557415e
params_shard_5.binWeights21.2 MB e564b2cfa6cf
params_shard_6.binWeights21.2 MB f642ba1eb935
params_shard_7.binWeights28.3 MB 06c6026bfffc
params_shard_8.binWeights28.3 MB 0698cb7d27c9
params_shard_9.binWeights28.3 MB 9cfe2fc047ed
mlc-chat-config.jsonConfiguration2.4 KB —
tensor-cache.jsonConfiguration74.3 KB —
LICENSEDocumentation11.5 KB —
README.mdDocumentation3.4 KB —
.gitattributesRepository1.6 KB —
merges.txtTokenizer3.4 MB —
tokenizer.jsonTokenizer12.8 MB 5f9e4d4901a9
tokenizer_config.jsonTokenizer16.7 KB —
vocab.jsonTokenizer6.7 MB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
1.1 GB
Download from Fuk Kwang

Released by Fuk Kwang through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published1.1 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About Qwen3.5-2B-tool-router-v2-q4f16_1-MLC

Can I use Qwen3.5-2B-tool-router-v2-q4f16_1-MLC commercially?

Yes. Qwen3.5-2B-tool-router-v2-q4f16_1-MLC is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Text generation

opt-125m

AI at Meta

OPT was first introduced in Open Pre-trained Transformer Language Models and first released in metaseq's repository on May 3rd 2022 by Meta AI. Disclaimer: The team releasing OPT wrote an official model card, which is available in Appendix D of the paper. Content from this model card has been written by the Hugging Face team. To quote the first two paragraphs of the official paper OPT was predominantly pretrained with English text, but a small amount of non-English data is still present within the training corpus via CommonCrawl. The model was pretrained using a causal language modeling (CLM) objective. OPT belongs to the same family of decoder-only models like GPT-3. As such, it was…

Open weights other 2,048 tokens transformers

Model · Text generation

Ornith-1.5-9B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.5-35B-A3B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ternary-Bonsai-2-27B-gguf

Prism ML

Full 27B-class reasoning in ternary transformer weights, for llama.cpp (CUDA, Metal, CPU) - \~5.9 GB language model (down from \~54 GB FP16) — full 27B-class reasoning on a standard laptop or a single GPU - 98.2% of FP16 intelligence retained: 84.78 average across 14 thinking-mode benchmarks — far above the conventional IQ2XXS build (72.59) at about 82% of its footprint, and within 0.4 points of UD-Q4KXL at three times the footprint - Retains thinking, reasoning, and agentic behavior deep in the sub-4-bit regime, where conventional low-bit representations collapse: math within half a point of full precision (96.57), coding level with the baseline (89.42), agentic tool calling at 74.92…

Open weights apache-2.0 llama.cpp

Uncensored Qwen3.8-27B, published as GGUF quantizations with the multi token prediction (MTP) head retained and verified. Refusal behaviour has been substantially reduced, not eliminated. See Measured behaviour for the numbers. Capabilities, training data, and architecture are otherwise unchanged. - Refusal directions removed with Heretic, which co minimizes refusal count against KL divergence from the base model. No handwritten refusal removal code, no finetuning, no additional training data. - Abliteration runs at bf16 (no 4 bit quantization). the resulting LoRA is merged into the bf16 base, so the published weights are not a quantized round trip. - mtp. tensors are copied verbatim from…

Open weights apache-2.0 llama.cpp

Model · Text generation

Ornith-1.0-9B-GGUF

Ornith

Aloha! Today, we are releasing Ornith-1.0, a self-improving family of open-source models for agentic coding. This model card documents Ornith-1.0-9B, the most lightweight member of the Ornith family, designed for efficient single-GPU deployment. Ornith-1.0-9B is a dense ~9B model (≈19 GB in bf16), so it serves comfortably on a single 80GB GPU. The recipes below stand up an OpenAI-compatible server; add --tensor-parallel-size / --tp if you want to shard across more GPUs. For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the Transformers installation guide; Ornith-1.0-9B requires…

Open weights mit transformers