Image Studio: switch base model to qwen3.5:9b (non-abliterated)

The abliterated 9B was the source of the tool-call format mangling
(both Native XML leaks and Default Python-syntax leaks). Standard
qwen3.5:9b is the same family, same 9B size (6.6 GB), vision-capable
and native tool calling actually works.

The image content uncensored-ness was always going to come from the
SDXL checkpoints in ComfyUI — the LLM is just a dispatcher. Picking
a well-behaved tool-caller for that role doesn't compromise output
content.

Updated:
  - image_studio.json base_model_id → qwen3.5:9b
  - init-models.sh: pulls qwen3.5:9b as a standard registry pull,
    in addition to the existing abliterated 9B (which stays for
    other chat models)
  - image_studio.md setup table + vision section explaining why
    we chose standard over abliterated for the dispatcher role

function_calling stays as 'default' and tool_choice as 'required'
for now — they don't hurt with a reliable tool-caller and operators
can flip back to native + drop tool_choice once they verify it
works for them (which also removes the need for a separate Task
Model for title generation).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
57_WolveandClaude Opus 4.7 committed 2026-04-19 17:09:42 -05:00
1 parent 1ae451ad5f
commit 20d4bd5b72
3 files changed
+24 -14

No files matched your search

@@ -38,7 +38,7 @@ prompts. Verify after import:
| Field | Value |
| ----- | ----- |
| Name | `Image Studio` |
| Base Model | `huihui_ai/qwen3.5-abliterated:9b` (vision-capable, 256K context, abliterated). Pull via `init-models.sh` first. |
| Base Model | `qwen3.5:9b` (6.6 GB, vision + native tool calling). Pull via `init-models.sh` first. The abliterated variant of the same model breaks tool-call format adherence; this is the standard build. |
| Description | `Image generation and routing across SDXL checkpoints.` |
| System Prompt | Paste the block from [System prompt](#system-prompt) below. |
| Tools | enable **only** `smart_image_gen` |
@@ -176,20 +176,25 @@ suggestions return, and autocomplete lights up.
The shipped preset sets `meta.capabilities.vision: true` so Open WebUI
allows users to attach images to chats with this model. Two paths:
### Default — `huihui_ai/qwen3.5-abliterated:9b`
### Default — `qwen3.5:9b`
The shipped preset uses Qwen 3.5 abliterated 9B as the base — vision-
capable, 256K context, no censorship hedging. Preseed via
`init-models.sh` (an `s3_pull` line is already in place; see
[Mirroring models to S3](../README.md#mirroring-models-to-s3) for the
mirror workflow).
The shipped preset uses standard (non-abliterated) Qwen 3.5 9B as
the base — vision-capable, 256K context, native tool calling
working. Preseed via `init-models.sh`.
**Important Qwen 3.x quirk:** thinking mode is on by default and
breaks native function calling — the model "thinks" about how to use
the tool instead of just calling it. The shipped system prompt starts
with `/no_think` to suppress this. If the model still plans instead
of firing the tool, also set `enable_thinking: false` in **Advanced
Params → Custom Parameters** (API-level enforcement).
**Why not the abliterated 9B?** The abliteration process mangles the
function-call template, causing the model to either refuse to call
tools or emit malformed `<function=...>` XML that Open WebUI's parser
can't recognise. Image generation doesn't actually need an
uncensored LLM — the SDXL checkpoints in ComfyUI are what produce
image content, and they're already uncensored. The LLM's only role
here is to call the right tool with the right args; the standard
build does that more reliably.
**Qwen 3.x quirk:** thinking mode is on by default. The shipped
system prompt starts with `/no_think` to suppress it. If the model
still plans instead of firing the tool, set
`enable_thinking: false` in **Advanced Params → Custom Parameters**.
### Alternatives