Qwen2.5-Coder-1.5B-Instruct (q4f16_1, WebLLM)
models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/
Text generation model for web-llm (q4f16_1). Runs on WebGPU —
833 MB downloaded once from models.skillsafe.ai, then cached for every SkillSafe app that
uses it. Inference happens on your device; nothing you enter is uploaded to load it, and it never costs a credit.
Weights from Hugging Face · skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16, pinned at e99732de48ec — also loadable straight from Hugging Face outside SkillSafe (how).
Details
qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713ae99732de48ec21158e5119a7758cc45e464cfc8dFiles
Each file is served at an immutable URL; the canonical form is the SHA-256 itself. Tokenizer and config JSON are not here by design — they ship in your app bundle.
| Path | Format | Size | SHA-256 | |
|---|---|---|---|---|
params_shard_0.bin | bin | 111 MB | 3c312ff8880a…178e66 | |
params_shard_1.bin | bin | 21.3 MB | e9746bfae164…4b8cf0 | |
params_shard_10.bin | bin | 25.1 MB | c2de8982284a…d4ecda | |
params_shard_11.bin | bin | 25.1 MB | fe3fb13462cb…012227 | |
params_shard_12.bin | bin | 25.1 MB | 6e2428c621f8…671dcb | |
params_shard_13.bin | bin | 25.1 MB | c351eb26223c…7ca476 | |
params_shard_14.bin | bin | 25.1 MB | 32466b2c68c1…5cb134 | |
params_shard_15.bin | bin | 25.1 MB | 11fbd058b080…93b5e2 | |
params_shard_16.bin | bin | 25.1 MB | 88ca4f3c3b5f…9c134b | |
params_shard_17.bin | bin | 25.1 MB | 27cb36c5b409…a9f42a | |
params_shard_18.bin | bin | 25.1 MB | 4dd21bf71bb1…8b9f7d | |
params_shard_19.bin | bin | 25.1 MB | 63595695c796…d9c4aa | |
params_shard_2.bin | bin | 25.1 MB | 7123276d20fc…f52b3a | |
params_shard_20.bin | bin | 25.1 MB | e74ac3965a66…35d05b | |
params_shard_21.bin | bin | 25.1 MB | 8cdac59722ba…3b19b5 | |
params_shard_22.bin | bin | 25.1 MB | 7355b4a63af1…980320 | |
params_shard_23.bin | bin | 25.1 MB | 6880182ff408…618a68 | |
params_shard_24.bin | bin | 25.1 MB | 5147a10cfb11…d569b3 | |
params_shard_25.bin | bin | 25.1 MB | a9f8b1eb8f83…b7b131 | |
params_shard_26.bin | bin | 25.1 MB | bbafb40e746d…1659d9 | |
params_shard_27.bin | bin | 25.1 MB | 274552455f7e…3a5e1c | |
params_shard_28.bin | bin | 25.1 MB | 84fb8349cac7…057777 | |
params_shard_29.bin | bin | 17.7 MB | cc09bf175d86…1bd8fc | |
params_shard_3.bin | bin | 25.1 MB | 113c72600912…384672 | |
params_shard_4.bin | bin | 25.1 MB | 384e14ea7e1f…280044 | |
params_shard_5.bin | bin | 25.1 MB | 8830daa29ffc…a866b5 | |
params_shard_6.bin | bin | 25.1 MB | 3693fc3c4103…c22ea0 | |
params_shard_7.bin | bin | 25.1 MB | ae42f18931f0…ff0541 | |
params_shard_8.bin | bin | 25.1 MB | 408bb892e85d…392a84 | |
params_shard_9.bin | bin | 25.1 MB | 5ce5e702e4b9…daa741 | |
lib/Qwen2-1.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm | wasm | 5.1 MB | 6cd9f132ad25…cec538 |
Use it in an app declaration · SDK loader · web-llm · URLs · Hugging Face — generated from this entry
Add to the body of POST /v1/apps/{slug}/releases (or a release session). An unknown or withdrawn model is refused with a 400 naming it; the app page then shows "downloads 833 MB · runs on your device" and /models.txt carries the attribution.
{
"models": [
{
"id": "qwen2.5-coder-1.5b-instruct-q4f16",
"revision": "30184a4f713a"
}
]
} Streams with progress, verifies the SHA-256 against the catalogue, keeps a durable copy in the app's Cache API and reports whether the bytes came from cache or the network.
<script src="/sdk.js"></script> <!-- vendored from https://skillsafe.ai/apps-sdk/v1.js -->
const ss = SkillSafe.init({ slug: "your-app" });
const caps = await ss.models.capabilities(); // { webgpu, wasm, wasmSimd, storage }
const files = await ss.models.loadAll("qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a", {
onProgress: (p) => (bar.style.width = Math.round(p.ratio * 100) + "%"),
}); // { path: ArrayBuffer } — SHA-256 verified, cached
const params_shard_0 = files["params_shard_0.bin"];
const params_shard_1 = files["params_shard_1.bin"];
const params_shard_10 = files["params_shard_10.bin"];
const params_shard_11 = files["params_shard_11.bin"];
const params_shard_12 = files["params_shard_12.bin"];
const params_shard_13 = files["params_shard_13.bin"];
const params_shard_14 = files["params_shard_14.bin"];
const params_shard_15 = files["params_shard_15.bin"];
const params_shard_16 = files["params_shard_16.bin"];
const params_shard_17 = files["params_shard_17.bin"];
const params_shard_18 = files["params_shard_18.bin"];
const params_shard_19 = files["params_shard_19.bin"];
const params_shard_2 = files["params_shard_2.bin"];
const params_shard_20 = files["params_shard_20.bin"];
const params_shard_21 = files["params_shard_21.bin"];
const params_shard_22 = files["params_shard_22.bin"];
const params_shard_23 = files["params_shard_23.bin"];
const params_shard_24 = files["params_shard_24.bin"];
const params_shard_25 = files["params_shard_25.bin"];
const params_shard_26 = files["params_shard_26.bin"];
const params_shard_27 = files["params_shard_27.bin"];
const params_shard_28 = files["params_shard_28.bin"];
const params_shard_29 = files["params_shard_29.bin"];
const params_shard_3 = files["params_shard_3.bin"];
const params_shard_4 = files["params_shard_4.bin"];
const params_shard_5 = files["params_shard_5.bin"];
const params_shard_6 = files["params_shard_6.bin"];
const params_shard_7 = files["params_shard_7.bin"];
const params_shard_8 = files["params_shard_8.bin"];
const params_shard_9 = files["params_shard_9.bin"];
const Qwen2_1_5B_Instruct_q4f16_1_ctx4k_cs1k_webgpu = files["lib/Qwen2-1.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm"];
// Later visits: await ss.models.status("qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a") → { cached: [...], missing: [] }
// Background prefetch on a landing page: ss.models.warm("qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a") The runtime itself ships in your bundle as a vetted {path, sha256} reference — only the weights come from the registry. Pass the bytes in; do not re-fetch by URL.
// web-llm fetches shards by URL and resumes by range; point its model record at the registry.
const appConfig = { model_list: [{
model: "https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/", // params_shard_*.bin + the wasm kernel come from here
model_id: "qwen2.5-coder-1.5b-instruct-q4f16",
model_lib: "https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/lib/Qwen2-1.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
}] };
const engine = await webllm.CreateMLCEngine("qwen2.5-coder-1.5b-instruct-q4f16", { appConfig, initProgressCallback: onProgress }); Immutable, credential-free, Access-Control-Allow-Origin: *, range requests honoured. The host refuses requests carrying a foreign Origin; a plain curl is fine.
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_0.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_1.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_10.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_11.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_12.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_13.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_14.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_15.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_16.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_17.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_18.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_19.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_2.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_20.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_21.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_22.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_23.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_24.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_25.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_26.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_27.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_28.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_29.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_3.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_4.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_5.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_6.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_7.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_8.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_9.bin
https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/lib/Qwen2-1.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm curl -sSL -o params_shard_0.bin "https://models.skillsafe.ai/qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a/params_shard_0.bin"
shasum -a 256 params_shard_0.bin # 3c312ff8880afccbdf3c3e8d8190cf34a8d1c9279f4b28335f1919659c178e66 SkillSafe's copy on Hugging Face — the same bytes (the SHA-256 on each file page matches the hash above), plus manifest.json with the upstream commit, recipe and toolchain, the parity reference tensors and a model card. Use it directly for your own site or notebook. A SkillSafe app must load from the registry: its CSP allows models.skillsafe.ai only, and that copy is what the SDK verifies, the browser shares across apps and the app page discloses. SkillSafe keeps hosting its own copies and the API either way.
// Outside SkillSafe apps only: app hosts allow connect-src models.skillsafe.ai, not huggingface.co.
const appConfig = { model_list: [{
model: "https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16", // shards, mlc-chat-config.json and tokenizer come from the repo
model_id: "qwen2.5-coder-1.5b-instruct-q4f16",
model_lib: "https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/lib/Qwen2-1.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm",
}] };
const engine = await webllm.CreateMLCEngine("qwen2.5-coder-1.5b-instruct-q4f16", { appConfig, initProgressCallback: onProgress }); https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_0.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_1.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_10.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_11.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_12.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_13.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_14.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_15.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_16.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_17.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_18.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_19.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_2.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_20.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_21.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_22.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_23.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_24.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_25.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_26.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_27.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_28.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_29.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_3.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_4.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_5.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_6.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_7.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_8.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/params_shard_9.bin
https://huggingface.co/skillsafe-ai/qwen2.5-coder-1.5b-instruct-q4f16/resolve/e99732de48ec21158e5119a7758cc45e464cfc8d/lib/Qwen2-1.5B-Instruct-q4f16_1-ctx4k_cs1k-webgpu.wasm Evaluation
shard sizes + md5 vs ndarray-cache.json; implied parameter count vs the checkpoint; parameter table vs model_lib embedded metadata — MLC's published weights, checked against the WebGPU library. Evaluated Sep 22, 2026.
Library fit
params_matched: 311 · symbolic_dims_resolved: [] · model_type: qwen2 · quantization: q4f16_1 · effective: {"context_window_size":4096,"prefill_chunk_size":1024}
Toolchain: python 3.12.13 · platform Darwin 25.6.0 arm64 · torch 2.10.0 · onnx 1.23.0 · onnxruntime 1.30.0. Recipe models/recipes/qwen2.5-coder-1.5b-instruct-q4f16.yaml (856bf330211f). Full manifest.json
Licence & attribution
Apache-2.0 · licence text · notice
Qwen2.5-Coder-1.5B-Instruct: Copyright 2024 Alibaba Cloud. Apache License 2.0. https://huggingface.co/Qwen/Qwen2.5-Coder-1.5B-Instruct — q4f16_1 weights published by MLC (https://huggingface.co/mlc-ai/Qwen2.5-Coder-1.5B-Instruct-q4f16_1-MLC).
Apps that declare this model get this text in their generated /models.txt, so a licence that requires a notice always carries one.
Revisions
| Revision | Variant | Size | Approved | Status | Apps |
|---|---|---|---|---|---|
qwen2.5-coder-1.5b-instruct-q4f16@30184a4f713a | q4f16_1 | 833 MB | Sep 22, 2026 | active | 0 |
qwen2.5-coder-1.5b-instruct-q4f16@30184a4f | q4f16_1 | 828 MB | Sep 22, 2026 | withdrawn | 0 |
Every file here was approved by exact SHA-256 after a structural audit of the graph, fetched from a content-pinned source, and is served credential-free at an immutable URL. The SDK re-verifies the hash on your device before it caches or returns anything. Missing a variant? Request it — or read how the registry works.