Skip to content

feat(gallery): add Qwen3.5 Artemis 2B, 4B and 9B variants - #12928

Open
Dorijan10 wants to merge 2 commits into
mudler:masterfrom
Dorijan10:feature/gallery-qwen3.5-artemis
Open

Dorijan10 wants to merge 2 commits into
mudler:masterfrom
Dorijan10:feature/gallery-qwen3.5-artemis

Conversation

@Dorijan10

@Dorijan10 Dorijan10 commented Oct 26, 2026 •

Copy link
Copy Markdown

Description

Adds TurinTech's Artemis GGUF builds of Qwen3.5 2B, 4B and 9B to the model library, one entry per weight file.

  • turintech/Qwen3.5-2B-Artemis-GGUF: 2 builds. qwen3.5-2b-artemis-q5-k-m declares qwen3.5-2b-artemis-q4-k-m as a variant.
  • turintech/Qwen3.5-4B-Artemis-GGUF: 3 builds. qwen3.5-4b-artemis-q4-k-m declares qwen3.5-4b-artemis-q5-k-m and qwen3.5-4b-artemis-q5-k-s as variants.
  • turintech/Qwen3.5-9B-Artemis-GGUF: 3 builds. qwen3.5-9b-artemis-q4-k-m declares qwen3.5-9b-artemis-q5-k-s and qwen3.5-9b-artemis-iq4-xs as variants.

In each repo the declaring build is the file the model card marks as its default. The other builds declare no variants of their own.

Every entry also installs the repo's F16 vision projector, mmproj-F16.gguf, for image input. All builds of one repo use the same projector path, llama-cpp/mmproj/<repo>/mmproj-F16.gguf, so they share one download. The entries use virtual.yaml with the chat template embedded in the GGUF (use_jinja:true, use_tokenizer_template: true), an 8192-token context and known_usecases chat and vision.

Notes for Reviewers

  • Follows the existing qwen3.5-0.8b-artemis-q5 / qwen3.5-0.8b-artemis-q4 entries for the same model family from the same publisher, added in feat(gallery): add Qwen3.5 Artemis 0.8B variants #12707 and landed on master in 754800b: same virtual.yaml base, embedded chat template and 8192-token context.
  • Companion to feat(gallery): add Gemma 4 Artemis E2B and E4B variants #12937 (Gemma 4 Artemis E2B and E4B), which inserts directly before the same 0.8B entries while this PR inserts directly after them, so the two apply independently.
  • File URIs point at main, following fix(model-gallery): point pinned LFM3-Audio entries at main #12994. The files on main are identical to these revisions:
    • turintech/Qwen3.5-2B-Artemis-GGUF at ef505832b8853db0c7b019f8ac6078d3a7289682
    • turintech/Qwen3.5-4B-Artemis-GGUF at ae130c914b6d3eea3653b16d14dea5f0a4508518
    • turintech/Qwen3.5-9B-Artemis-GGUF at 258b5d4e90972c74423a22f380906a3a939a758a
  • All sha256 values (eight weights and three F16 projectors) match the LFS metadata of main, the x-linked-etag header and the sha256 of the downloaded bytes, verified on a GitHub-hosted runner: RUN_URL
  • GGUF architecture is qwen35 for all three repos.
  • The new entries sit in gallery/models/index.yaml directly after the existing qwen3.5-0.8b-artemis-q5 and qwen3.5-0.8b-artemis-q4 entries. gallery/index.yaml was regenerated with go run ./scripts/models/cmd/modelcatalog --library gallery/models/index.yaml --out gallery/index.yaml.
  • These commands passed:
    • go test ./scripts/models/...
    • go test ./core/gallery -run 'TestModelLibrary|TestRealModelLibraryHasTheLibraryShape|TestGeneratedGalleryLoadsWithTheSameEntries|TestCheckedInGalleryIsTheGeneratedCopy|TestDecodeModelIndex' -count=1
    • go test ./core/gallery -run TestGallery -ginkgo.focus='gallery/index.yaml|gallery variant lint helpers' -count=1
    • git diff --check
  • Smoke test on commit 622ac48d with the LocalAI v4.12.1 release binary on CPU (cpu-llama-cpp backend), serving a local copy of this branch's gallery/index.yaml as a file gallery. Each declaring entry was installed with POST /models/apply, then asked "What is the capital of France? Answer in one word." and, with the TurinTech logo as a data URL, "What text appears in this image?":
    • qwen3.5-2b-artemis-q5-k-m installed its own build, Qwen3.5-2B-Artemis-Q5_K_M.gguf. Text: Paris. Image: The text that appears in this image is "TURINTECH".
    • qwen3.5-4b-artemis-q4-k-m resolved to the qwen3.5-4b-artemis-q5-k-m variant, Qwen3.5-4B-Artemis-Q5_K_M.gguf. Text: Paris. Image: The text in the image is "TURINTECH".
    • qwen3.5-9b-artemis-q4-k-m resolved to the qwen3.5-9b-artemis-q5-k-s variant, Qwen3.5-9B-Artemis-Q5_K_S.gguf. Text: Paris. Image: The image contains the text: 'TURINTECH'
    • Every reply carried a reasoning field, so the embedded template runs with thinking on.
    • After the switch to main URIs (32ccb7dc), qwen3.5-2b-artemis-q4-k-m was installed by its own name with the same setup. Both files came from resolve/main and matched their sha256. Text: Paris. Image: The text in the image is: **TURINTECH**
  • The MTP drafter is deliberately not configured: no draft_model, no spec_type option and no mtp tag. The model cards state that these repos ship no MTP file.

Sources:

Signed commits

  • Yes, I signed my commits.
  • Documentation updated (docs/content/) for user-facing changes, or not applicable

Add eight TurinTech Artemis GGUF builds of Qwen3.5 2B, 4B and 9B, each
with the repo's F16 vision projector, pinned by revision and SHA-256.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Dorian Magasic <dorian.magasic@turintech.ai>
@localai-org-maint-bot

Copy link
Copy Markdown
Collaborator

@mudler Reviewed all eight Qwen3.5 Artemis entries and their model-library counterparts. YAML parsing, unique names, matching library/gallery model fields, model/projector filename references, and variant targets passed focused validation; the patch applies to current master. No structural/configuration blockers found; good to merge once the normal checks and artifact verification are satisfied. Hugging Face returned HTTP 403 from this environment, so I could not independently verify the pinned URLs or SHA256 values, and dependency download restrictions prevented the repository Go suites. I did not rerun model inference.

The nightly checksum job writes the LFS sha256 of main into each
entry, so a commit-pinned uri cannot follow it (see mudler#12994). The files
on main are identical to the previously pinned revisions, so no sha256
changes.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Dorian Magasic <dorian.magasic@turintech.ai>
@Dorijan10

Copy link
Copy Markdown
Author

Thanks for the review. Hugging Face was blocked from the review environment, so I ran the checks on a GitHub-hosted runner in my fork: https://github.com/Dorijan10/LocalAI/actions/runs/41433851682

Since the review, 32ccb7dc switches the file URIs to main, as in #12994. The files are identical to the previously pinned revisions, so no checksum changed.

The workflows here are waiting for maintainer approval since this is my first contribution. Could someone approve them? cc @mudler

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants