Keep node transformers-only: drop GGUF presets from dropdown
Per decision, this node stays transformers/safetensors. Removed the HauhauCS GGUF presets from model_select; the manual .gguf guard now points to a dedicated GGUF node (1038lab/ComfyUI-QwenVL, KLL535 Simple-Qwen3-VL-gguf). Dropdown lists the huihui 4B/8B/30B-A3B judges with VRAM hints. Docs note GGUF models run in a separate node and feed their text into the loop. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -34,8 +34,9 @@ can act on it.
|
||||
| `mode` | compare / describe | compare | `describe` = first pass over the reference only → caption + target spec (seeds the prompt). `compare` = score ref vs generated |
|
||||
| `profile` | general / oral / penetration / handjob / solo | general | **analysis profile** — act-specialized axis set; the act-critical axes are distance/proximity-aware (e.g. `mouth_genital_distance`) so magnitude isn't hidden behind a coarse label |
|
||||
| `generated_image` | IMAGE (optional) | — | the candidate to score (required for `compare`, ignored for `describe`) |
|
||||
| `model_path` | STRING | `/media/p5/qwen3vl_4b_abliterated_comfy_convert/hf_bf16` | local dir, **HF repo id** (`org/name`), or alias (`30b-a3b` / `8b` / `4b`) |
|
||||
| `precision` | bf16 / fp16 / fp8 / nf4 | bf16 | `nf4` = 4-bit (run the 30B judge on 32 GB); `fp8` with the `hf_fp8` copy |
|
||||
| `model_select` | dropdown | 4B local bf16 | curated **transformers** judges with VRAM hints: 4B local (bf16 ~9GB / fp8 ~5GB), 8B (bf16 ~17GB), 30B-A3B (nf4 ~18GB, slow). Auto-downloads on first use |
|
||||
| `model_path` | STRING | "" (empty) | **manual override** of the dropdown — local dir, HF repo id, or alias (`30b-a3b`/`8b`/`4b`). Empty = use `model_select` |
|
||||
| `precision` | bf16 / fp16 / fp8 / nf4 | bf16 | applies to a manual `model_path`; presets carry their own precision |
|
||||
| `axes` | STRING | "" (empty) | **override** the profile's axis set with a custom comma/newline list; empty = use `profile` |
|
||||
| `max_new_tokens` | INT | 1024 | |
|
||||
| `temperature` | FLOAT | 0.0 | 0 = greedy/repeatable |
|
||||
@@ -71,12 +72,18 @@ converted at `/media/p5/qwen3vl_4b_abliterated_comfy_convert/` so it runs out of
|
||||
(the abliterated/uncensored variant won't refuse to analyze adult imagery, which would
|
||||
otherwise break the loop).
|
||||
|
||||
**Recommended upgrade (latest Qwen VL + uncensored, fits 32 GB):**
|
||||
[`huihui-ai/Huihui-Qwen3-VL-30B-A3B-Instruct-abliterated`](https://huggingface.co/huihui-ai/Huihui-Qwen3-VL-30B-A3B-Instruct-abliterated)
|
||||
— MoE (3B active, fast), run at `precision=nf4` (~18 GB). The node auto-detects the MoE
|
||||
class. An easier middle ground is the **8B** abliterated at `bf16` (~17 GB, no quantization).
|
||||
Qwen3.5-VL abliterated isn't out yet (Qwen3.5 abliterated builds are text-only so far);
|
||||
Gemma-3-27B-it abliterated (4-bit) is a viable non-Qwen alternative. See
|
||||
**Pick the judge from `model_select`** (transformers / safetensors, auto-downloaded):
|
||||
the **8B** abliterated at `bf16` (~17 GB) is the recommended intermediate — fast and
|
||||
clearly better than the 4B. The **30B-A3B** (nf4 ~18 GB) is higher quality but slow (the
|
||||
`nf4`/bitsandbytes path is the bottleneck, not the model). `model_path` overrides the
|
||||
dropdown for anything else.
|
||||
|
||||
**GGUF-only models are not in the dropdown.** Newer uncensored builds like
|
||||
[`HauhauCS/Qwen3.5-9B-Uncensored`](https://huggingface.co/HauhauCS/Qwen3.5-9B-Uncensored-HauhauCS-Aggressive)
|
||||
and [`HauhauCS/Qwen3.6-35B-A3B-Uncensored`](https://huggingface.co/HauhauCS/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive)
|
||||
ship as **GGUF + mmproj** only — this node is transformers-only, so run those in a dedicated
|
||||
GGUF node ([1038lab/ComfyUI-QwenVL](https://github.com/1038lab/ComfyUI-QwenVL) or
|
||||
KLL535 Simple-Qwen3-VL-gguf) and feed their text output into the loop. See
|
||||
[docs/METHODOLOGY.md](docs/METHODOLOGY.md#model-sizing-on-32-gb-rtx-5090--abliterated-latest-qwen-vl).
|
||||
|
||||
## Loop sketch
|
||||
|
||||
+7
-10
@@ -42,9 +42,10 @@ RECOMMENDED_MODELS = {
|
||||
}
|
||||
|
||||
# Curated model dropdown (label shown in the node -> how to load it). The label
|
||||
# carries the suggested VRAM. `backend`: "transformers" = safetensors via this node
|
||||
# (auto-downloaded with snapshot_download); "gguf" = GGUF + mmproj (needs the GGUF
|
||||
# backend). `model_path` (manual) overrides this when non-empty.
|
||||
# carries the suggested VRAM. All entries are safetensors loaded via transformers
|
||||
# (auto-downloaded with snapshot_download). `model_path` (manual) overrides this.
|
||||
# GGUF-only models (e.g. HauhauCS Qwen3.5/3.6 Uncensored) are NOT listed — run those
|
||||
# in a dedicated GGUF node (1038lab/ComfyUI-QwenVL, KLL535 Simple-Qwen3-VL-gguf).
|
||||
MANUAL_CHOICE = "(manual — use model_path below)"
|
||||
MODEL_PRESETS = {
|
||||
"Qwen3-VL-4B abliterated (huihui) · local bf16 ~9GB": {
|
||||
@@ -55,10 +56,6 @@ MODEL_PRESETS = {
|
||||
"repo": "huihui-ai/Huihui-Qwen3-VL-8B-Instruct-abliterated", "backend": "transformers", "precision": "bf16"},
|
||||
"Qwen3-VL-30B-A3B abliterated (huihui) · nf4 ~18GB (slow)": {
|
||||
"repo": "huihui-ai/Huihui-Qwen3-VL-30B-A3B-Instruct-abliterated", "backend": "transformers", "precision": "nf4"},
|
||||
"Qwen3.5-9B Uncensored Aggressive (HauhauCS) · GGUF Q4 ~8GB": {
|
||||
"repo": "HauhauCS/Qwen3.5-9B-Uncensored-HauhauCS-Aggressive", "backend": "gguf", "precision": "Q4_K_M"},
|
||||
"Qwen3.6-35B-A3B Uncensored Aggressive (HauhauCS) · GGUF Q4 ~22GB": {
|
||||
"repo": "HauhauCS/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive", "backend": "gguf", "precision": "Q4_K_M"},
|
||||
}
|
||||
|
||||
# Difference axes + a one-line definition each. Definitions are injected into the
|
||||
@@ -731,9 +728,9 @@ class QwenVLImageJudge:
|
||||
eff_repo, eff_backend, eff_precision = preset["repo"], preset["backend"], preset["precision"]
|
||||
|
||||
if eff_backend == "gguf":
|
||||
msg = (f"[QwenVLImageJudge] '{eff_repo}' is a GGUF model — the GGUF backend "
|
||||
f"is not enabled yet (pending Ollama vs llama-cpp-python choice). "
|
||||
f"Use a transformers (safetensors) model for now.")
|
||||
msg = (f"[QwenVLImageJudge] '{eff_repo}' is GGUF — this node is transformers "
|
||||
f"(safetensors) only. Run GGUF models in a dedicated GGUF node "
|
||||
f"(1038lab/ComfyUI-QwenVL or KLL535 Simple-Qwen3-VL-gguf).")
|
||||
print(msg); return (0.0, "{}", msg, msg, "")
|
||||
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user