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 |
|
| `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 |
|
| `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`) |
|
| `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`) |
|
| `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 |
|
||||||
| `precision` | bf16 / fp16 / fp8 / nf4 | bf16 | `nf4` = 4-bit (run the 30B judge on 32 GB); `fp8` with the `hf_fp8` copy |
|
| `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` |
|
| `axes` | STRING | "" (empty) | **override** the profile's axis set with a custom comma/newline list; empty = use `profile` |
|
||||||
| `max_new_tokens` | INT | 1024 | |
|
| `max_new_tokens` | INT | 1024 | |
|
||||||
| `temperature` | FLOAT | 0.0 | 0 = greedy/repeatable |
|
| `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
|
(the abliterated/uncensored variant won't refuse to analyze adult imagery, which would
|
||||||
otherwise break the loop).
|
otherwise break the loop).
|
||||||
|
|
||||||
**Recommended upgrade (latest Qwen VL + uncensored, fits 32 GB):**
|
**Pick the judge from `model_select`** (transformers / safetensors, auto-downloaded):
|
||||||
[`huihui-ai/Huihui-Qwen3-VL-30B-A3B-Instruct-abliterated`](https://huggingface.co/huihui-ai/Huihui-Qwen3-VL-30B-A3B-Instruct-abliterated)
|
the **8B** abliterated at `bf16` (~17 GB) is the recommended intermediate — fast and
|
||||||
— MoE (3B active, fast), run at `precision=nf4` (~18 GB). The node auto-detects the MoE
|
clearly better than the 4B. The **30B-A3B** (nf4 ~18 GB) is higher quality but slow (the
|
||||||
class. An easier middle ground is the **8B** abliterated at `bf16` (~17 GB, no quantization).
|
`nf4`/bitsandbytes path is the bottleneck, not the model). `model_path` overrides the
|
||||||
Qwen3.5-VL abliterated isn't out yet (Qwen3.5 abliterated builds are text-only so far);
|
dropdown for anything else.
|
||||||
Gemma-3-27B-it abliterated (4-bit) is a viable non-Qwen alternative. See
|
|
||||||
|
**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).
|
[docs/METHODOLOGY.md](docs/METHODOLOGY.md#model-sizing-on-32-gb-rtx-5090--abliterated-latest-qwen-vl).
|
||||||
|
|
||||||
## Loop sketch
|
## Loop sketch
|
||||||
|
|||||||
+7
-10
@@ -42,9 +42,10 @@ RECOMMENDED_MODELS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Curated model dropdown (label shown in the node -> how to load it). The label
|
# Curated model dropdown (label shown in the node -> how to load it). The label
|
||||||
# carries the suggested VRAM. `backend`: "transformers" = safetensors via this node
|
# carries the suggested VRAM. All entries are safetensors loaded via transformers
|
||||||
# (auto-downloaded with snapshot_download); "gguf" = GGUF + mmproj (needs the GGUF
|
# (auto-downloaded with snapshot_download). `model_path` (manual) overrides this.
|
||||||
# backend). `model_path` (manual) overrides this when non-empty.
|
# 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)"
|
MANUAL_CHOICE = "(manual — use model_path below)"
|
||||||
MODEL_PRESETS = {
|
MODEL_PRESETS = {
|
||||||
"Qwen3-VL-4B abliterated (huihui) · local bf16 ~9GB": {
|
"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"},
|
"repo": "huihui-ai/Huihui-Qwen3-VL-8B-Instruct-abliterated", "backend": "transformers", "precision": "bf16"},
|
||||||
"Qwen3-VL-30B-A3B abliterated (huihui) · nf4 ~18GB (slow)": {
|
"Qwen3-VL-30B-A3B abliterated (huihui) · nf4 ~18GB (slow)": {
|
||||||
"repo": "huihui-ai/Huihui-Qwen3-VL-30B-A3B-Instruct-abliterated", "backend": "transformers", "precision": "nf4"},
|
"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
|
# 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"]
|
eff_repo, eff_backend, eff_precision = preset["repo"], preset["backend"], preset["precision"]
|
||||||
|
|
||||||
if eff_backend == "gguf":
|
if eff_backend == "gguf":
|
||||||
msg = (f"[QwenVLImageJudge] '{eff_repo}' is a GGUF model — the GGUF backend "
|
msg = (f"[QwenVLImageJudge] '{eff_repo}' is GGUF — this node is transformers "
|
||||||
f"is not enabled yet (pending Ollama vs llama-cpp-python choice). "
|
f"(safetensors) only. Run GGUF models in a dedicated GGUF node "
|
||||||
f"Use a transformers (safetensors) model for now.")
|
f"(1038lab/ComfyUI-QwenVL or KLL535 Simple-Qwen3-VL-gguf).")
|
||||||
print(msg); return (0.0, "{}", msg, msg, "")
|
print(msg); return (0.0, "{}", msg, msg, "")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user