1
0
mirror of https://github.com/vladmandic/sdnext.git synced 2026-01-29 05:02:09 +03:00

1505 Commits

Author SHA1 Message Date
vladmandic
c1f3fc594e cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-25 12:59:14 +01:00
vladmandic
a7c32caae3 relocate all jsons to data
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-24 13:54:40 +01:00
Disty0
50c65ed990 Update OpenVINO to 2025.4.1 2026-01-23 14:43:42 +03:00
Vladimir Mandic
a47e2ff62f Merge pull request #4569 from CalamitousFelicitousness/feat/wd14-tagger
feat(caption): add WD14 tagger with Booru Tags tab
2026-01-23 09:17:19 +01:00
Oleksandr Liutyi
4a089fb6e4 Qwen layered settings typo 2026-01-21 19:12:43 +00:00
CalamitousFelicitousness
6b10f0df4f refactor(caption): address PR review feedback
Rename WD14 module and settings to WaifuDiffusion:
- Rename wd14.py to waifudiffusion.py
- Rename WD14Tagger class to WaifuDiffusionTagger
- Rename WD14_MODELS constant to WAIFUDIFFUSION_MODELS
- Rename settings: wd14_model -> waifudiffusion_model,
  wd14_character_threshold -> waifudiffusion_character_threshold
- Update all log messages from "WD14" to "WaifuDiffusion"

Code quality improvements:
- Simplify threshold parameter defaulting using `or` operator
- Extract save_output logic into _save_tags_to_file() helper with
  isolated error handling to prevent single file failures from
  impacting entire batch
- Fix timing log format consistency (remove 's' suffix)
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness
becb19319d refactor(caption): unify tagger settings and reorganize Caption Tab UI
Consolidate WD14 and DeepBooru tagger settings into unified options:
- Merge wd14_general_threshold + deepbooru_score_threshold → tagger_threshold
- Merge wd14_include_rating + deepbooru_include_rating → tagger_include_rating
- Rename interrogate_score → tagger_show_scores
- Rename tagger_escape → tagger_escape_brackets
- Rename CLiP → OpenCLiP in caption type choices

UI reorganization:
- Add Interrogate tab to Caption Tab with default caption type selector
- Move interrogate_offload to Model Offloading section as "Offload caption models"
- Hide Interrogate settings section (all settings now in Caption Tab UI)
- Update locale_en.json for OpenCLiP naming

Code improvements:
- DeepBooru tag_multi() now accepts same parameters as WD14 for unified interface
- Fix setting references in interrogate.py for consolidated settings
- Add comprehensive tagger test suite (cli/test-tagger.py)
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness
656e86a962 refactor(caption): consolidate interrogate settings into Caption Tab UI
Hide all CLiP, VLM, and Tagger settings from Settings > Interrogate page
while keeping them in shared.opts for persistence. Caption Tab UI becomes
the single control point with change handlers that save directly to config.

Changes:
- Hide OpenCLiP, VLM, and Tagger settings with visible=False
- Add change handlers to save settings when UI controls change
- Rename "Booru Tags" tab to "Tagger", update choice labels
- Update interrogate.py to use unified tagger interface with all settings
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness
09b8fe9761 feat(caption): integrate DeepBooru into unified Booru Tagger UI
Add DeepBooru as a model option alongside WD14 models in the Booru Tags
tab, with dynamic UI that disables inapplicable controls.

Changes:
- Create modules/interrogate/tagger.py as unified adapter module
- Add batch, load/unload, get_models functions to deepbooru.py
- Update ui_caption.py to use unified tagger interface
- Consolidate shared tagger settings in shared.py
- Add implementation plan for future settings consolidation

UI behavior:
- Model dropdown shows DeepBooru + all WD14 models
- Character threshold and include rating disabled for DeepBooru
- All controls re-enable when WD14 model selected
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness
db97c42320 feat(caption): add WD14 tagger with Booru Tags tab
Add SmilingWolf's WD14/WaifuDiffusion tagger models for anime/illustration
tagging as a new "Booru Tags" tab in the Caption panel.

- Support 9 models (v2 and v3 variants) via HuggingFace
- ONNX backend chosen due to safetensors v3 variants exhibiting
  unacceptable accuracy loss
- Separate thresholds for general/character tags
- Batch processing with progress bar
- Consolidate debug env var to SD_INTERROGATE_DEBUG
2026-01-21 11:56:07 +00:00
vladmandic
b3a99274e2 enhance SD_DEVICE_DEBUG
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-20 18:12:05 +01:00
vladmandic
16293375dc lora native stack improvements
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-18 10:06:03 +01:00
vladmandic
e0ea7c9d94 cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-18 07:25:54 +01:00
CalamitousFelicitousness
983e396f64 docs(i18n): improve LoRA settings hints and labels
- Add detailed hints explaining LoRA fuse behavior and model reload warning
- Add hints for force reload, diffusers fuse, and quantization precision options
- Improve clarity of auto-apply tags and hash metadata hints
- Comment out unimplemented lora_quant setting
2026-01-18 03:57:43 +00:00
CalamitousFelicitousness
b4a3a117f1 fix(shared): truncate descriptions 2026-01-16 16:24:05 +00:00
CalamitousFelicitousness
761ea1c327 feat(settings): add base path support for output folders
Change "Images folder" and "Grids folder" settings to act as base paths
that combine with specific folder settings, rather than replacing them.

- Add resolve_output_path() helper function to modules/paths.py
- Update all output path usages to use combined base + specific paths
- Update gallery API to return resolved paths with display labels
- Update gallery UI to show short labels with full path on hover

Example: If base is "C:\Database\" and specific is "outputs/text",
the resolved path becomes "C:\Database\outputs\text"

Edge cases handled:
- Empty base path: uses specific path directly (backward compatible)
- Absolute specific path: ignores base path
- Empty specific path: uses base path only
2026-01-16 16:24:05 +00:00
Disty0
c2bc47e0c1 SDNQ expose Dyn quant on settings 2026-01-14 16:54:50 +03:00
vladmandic
4dbdee10e3 switch lora logic and improve ui networks filter
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-14 10:31:21 +01:00
CalamitousFelicitousness
e881faa2fb feat(vlm): align default generation settings
Update default settings for both Prompt Enhance and VQA:
- max_tokens: 512 (prompt enhance)
- do_sample: True
- temperature: 0.8

These defaults provide better output quality with more creative
variation while maintaining coherent results.
2026-01-12 00:17:20 +00:00
awsr
0faabffc14 Simplify options init/save/load 2026-01-10 13:27:38 -08:00
Seunghoon Lee
9195116e46 zluda init 2026-01-07 14:59:42 +09:00
vladmandic
f6289206d8 startup sequence optimizations
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-03 07:54:05 +01:00
Disty0
448e7b7735 replace the default fp6 type 2025-12-27 02:10:12 +03:00
Disty0
4a4784eafa SDNQ add new stack of custom floating point types and remove irrelevant qtypes from the ui list 2025-12-26 20:09:17 +03:00
vladmandic
2a33d9f1a8 add qwen-image-layered
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-22 21:24:27 +01:00
awsr
dfe6e889d8 Fix imports 2025-12-20 01:42:03 -08:00
awsr
05f767cf5f Keep option type definitions together...
and update type annotations.
- Since there's no literal for sets, and because functions usually shouldn't be used as parameter defaults, use None as default and then use `set()` as default during init.
2025-12-18 18:08:54 -08:00
awsr
ab7ca7e303 Remove unused TypeGuard import 2025-12-17 16:44:09 -08:00
awsr
dcb7164d30 Update readfile type safety 2025-12-17 16:43:54 -08:00
awsr
41105c362a Revert change incorrectly reported by Pyright as an error 2025-12-17 13:18:14 -08:00
awsr
c34c42493e Opt in to dict type safety 2025-12-17 13:18:14 -08:00
awsr
5206216487 Typing updates 2025-12-17 13:18:13 -08:00
vladmandic
a7956d0c5c detailer support for segmentation models and use of segmentation masks
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-16 22:51:52 +01:00
vladmandic
13b4dc8996 update google access methods
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-12 09:56:39 +01:00
vladmandic
a72b98848c cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-10 10:17:37 +01:00
awsr
9d8119b6ab Fix/update browser cache behavior
It was partially ignoring the setting and writing to cache anyway.
2025-12-09 19:23:16 -08:00
CalamitousFelicitousness
195161c436 fix(settings): hide VLM prefill/thinking settings from Settings UI
These settings are accessible from the Caption tab and can be saved
as defaults via "Set UI defaults", so they don't need to appear in
Settings > Interrogate.
2025-12-05 00:54:24 +00:00
CalamitousFelicitousness
2b6226b62b feat(vqa): persist thinking mode and improve reasoning output formatting
- Add interrogate_vlm_thinking_mode setting to save checkbox state
- Update ui_caption to restore Thinking Mode preference on load
- Add blank line before 'Answer:' label for visual separation
- Remove '\n\n' replacement in clean() that stripped blank lines
- Fix Qwen reasoning detection when <think> tag is in prompt, not response
- Add reasoning icon to Moondream 2 and 3 model names
2025-12-05 00:00:25 +00:00
CalamitousFelicitousness
c024c0c9c6 feat(settings): add VLM prefill and thinking retention options
Add new VLM configuration options:
- interrogate_vlm_keep_prefill: Keep prefill text in output
- interrogate_vlm_keep_thinking: Keep reasoning trace in output

Also adjust defaults:
- Change interrogate_clip_flavor_count: 16 -> 1024 with updated range
- Change interrogate_vlm_prompt default to first item ("Use Prompt")
2025-12-05 00:00:24 +00:00
Disty0
b6e9332cfe SDNQ de-couple matmul dtype and add fp16 matmul 2025-11-22 02:16:20 +03:00
Vladimir Mandic
c50c987a33 sdnq always-register
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-11-16 08:14:01 -05:00
Vladimir Mandic
ba270db6ad separate settings for lora fuse
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-11-08 11:08:06 -05:00
Vladimir Mandic
56026c4e61 refactor attention handling
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-11-08 10:55:41 -05:00
Vladimir Mandic
65dfc9b4d0 fix ui_disabled
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-11-04 12:06:32 -05:00
Vladimir Mandic
9927b3e62c controlnet allow processor to keep aspect-ratio for override images based on i2i or t2i resolution
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-11-04 09:37:18 -05:00
Vladimir Mandic
05261e708a ability to disable parts of the app
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-11-03 19:36:55 -05:00
Vladimir Mandic
fc4033a628 change num_beams and update changelog
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-11-02 10:56:50 -05:00
awsr
dd029ce057 Fix settings conflict that caused UI desync
Because these were being counted as regular settings, the Apply Settings button would revert any changes made in the Detailer section and make the settings become out of sync with the UI (until they were re-saved by changing a value in the Detailers section).
2025-11-02 02:15:24 -08:00
Vladimir Mandic
f4400adb74 detailer improvements
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-11-01 21:38:48 -04:00
Vladimir Mandic
58f218a560 add cudnn enable/disable override
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-11-01 11:33:39 -04:00