Skip to content

Model registry mislabels QWEN3_4B_Q4_K_M as addon "diffusion", routing a Qwen3 text-generation GGUF to the wrong addon #3223

Description

@ajanaku1

Summary

The model catalog ships QWEN3_4B_Q4_K_M with addon: "diffusion", but the entry points at the Qwen3-4B text-generation GGUF (unsloth/Qwen3-4B-GGUF/.../Qwen3-4B-Q4_K_M.gguf). Loading that constant routes a text model to the diffusion addon, so completion can't use it. The instruct variant QWEN3_4B_INST_Q4_K_M is tagged addon: "llm" and works fine.

I hit this in Punt (a P2P betting app built for the Tether Dev Cup) while picking a juror model. Grabbed the base constant first, got the wrong addon, and only figured out what was going on after reading the catalog in dist/.

Environment

  • @qvac/sdk 0.13.5
  • Node.js 22+
  • macOS 14 (Darwin 24.6.0)

Where it is in the shipped package

dist/models/registry/models.js, models[21]:

{
    name: "QWEN3_4B_Q4_K_M",
    registryPath: "unsloth/Qwen3-4B-GGUF/resolve/9b5c4f3506ac99d74e59ecd9aa9abb05537b7f59/Qwen3-4B-Q4_K_M.gguf",
    registrySource: "hf",
    ...
    modelId: "Qwen3-4B-Q4_K_M.gguf",
    addon: "diffusion",
}

For comparison, models[69]:

{
    name: "QWEN3_4B_INST_Q4_K_M",
    registryPath: "qvac_models_compiled/ggml/Qwen3-4B/2025-06-27/Qwen3-4B-Q4_K_M.gguf",
    registrySource: "s3",
    ...
    addon: "llm",
}

I grepped the whole catalog to be sure this isn't intentional. Every other entry tagged diffusion really is an image or video model (FLUX.2, Wan 2.1, SD 2.1/XL, ESRGAN). Every other QWEN3 entry, including all the multimodal ones, is tagged llm. This one entry is the odd one out.

Expected

addon: "llm" for a Qwen3-4B text-generation GGUF. Or drop the entry entirely if the INST variant is meant to supersede it.

Actual

addon: "diffusion", so loadModel hands the model to the wrong addon.

Workaround

Use QWEN3_4B_INST_Q4_K_M instead. That's what Punt does now:

// (The SDK's QWEN3_4B_Q4_K_M entry is mislabeled addon:"diffusion";
//  QWEN3_4B_INST_Q4_K_M is the correct llamacpp one.)

Looks like a one-line fix in the catalog.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions