From d6bb510251ff4f11d4a3cddaaa4ff52c36dd2cc0 Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Tue, 22 Sep 2026 20:15:14 +0800 Subject: [PATCH] rename --sdt5xxl to --sdllm flag --- koboldcpp.py | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/koboldcpp.py b/koboldcpp.py index e0263c307..68bcbe1ae 100644 --- a/koboldcpp.py +++ b/koboldcpp.py @@ -256,6 +256,7 @@ deprecated_keys = { "pipelineparallel", "nopipelineparallel", "sdnotile", + "sdt5xxl", "forceversion", "sdgendefaults", "flashattention", @@ -2651,7 +2652,7 @@ def sd_get_device_override(deviceid, module=''): result = device_name return result -def sd_load_model(model_filename,vae_filename,t5xxl_filename,clip1_filename,clip2_filename,photomaker_filename,upscaler_filename,audio_vae_filename): +def sd_load_model(model_filename,vae_filename,llm_filename,clip1_filename,clip2_filename,photomaker_filename,upscaler_filename,audio_vae_filename): global args, cached_sd_info inputs = sd_load_model_inputs() inputs = set_backend_props(inputs) @@ -2682,7 +2683,7 @@ def sd_load_model(model_filename,vae_filename,t5xxl_filename,clip1_filename,clip inputs.tiled_vae_threshold = args.sdtiledvae inputs.vae_filename = vae_filename.encode("UTF-8") inputs.audio_vae_filename = audio_vae_filename.encode("UTF-8") - inputs.t5xxl_filename = t5xxl_filename.encode("UTF-8") + inputs.t5xxl_filename = llm_filename.encode("UTF-8") inputs.clip1_filename = clip1_filename.encode("UTF-8") inputs.clip2_filename = clip2_filename.encode("UTF-8") inputs.photomaker_filename = photomaker_filename.encode("UTF-8") @@ -8965,7 +8966,7 @@ def show_gui(): sd_loramult_var = ctk.StringVar(value="1.0") sd_vae_var = ctk.StringVar() sd_audio_vae_var = ctk.StringVar() - sd_t5xxl_var = ctk.StringVar() + sd_llm_var = ctk.StringVar() sd_clip1_var = ctk.StringVar() sd_clip2_var = ctk.StringVar() sd_photomaker_var = ctk.StringVar() @@ -9990,7 +9991,7 @@ def show_gui(): imglora4,imglora5 = makelabelentry(images_tab, "Multiplier:" , sd_loramult_var, 20, 50,padx=(390),singleline=True,tooltip="What mutiplier value to apply the SD LoRA with.",labelpadx=(330)) imglora6,imglora7,imglora8 = makefileentry(images_tab, "LoRA Dir:", "Select directory for runtime lora triggers",sd_lora_var, 20, width=280, singlerow=True, dialog_type=2,tooltiptxt="Select directory containing LoRAs that can be used at runtime.\nSyntax is ") - makefileentry(images_tab, "T5-XXL File:", "Select T5-XXL model file (SD3, Flux, WAN)",sd_t5xxl_var, 24, width=280, singlerow=True, filetypes=[("*.safetensors *.gguf","*.safetensors *.gguf")],tooltiptxt="Select a .safetensors t5xxl file to be loaded.") + makefileentry(images_tab, "Image LLM:", "Select image text encoder or LLM model file",sd_llm_var, 24, width=280, singlerow=True, filetypes=[("*.safetensors *.gguf","*.safetensors *.gguf")],tooltiptxt="Select a .safetensors or .gguf text encoder or LLM file for image generation.") makefileentry(images_tab, "Clip-1 File:", "Select First Clip model file (Clip-L for SD3 or Flux, or other vision encoder)",sd_clip1_var, 26, width=280, singlerow=True, filetypes=[("*.safetensors *.gguf","*.safetensors *.gguf")],tooltiptxt="Select a .safetensors Clip-1 file to be loaded.\nThis is Clip-L for SD3 and Flux, Clip Vision for WAN, and Qwen2.5VL for QwenImage") makefileentry(images_tab, "Clip-2 File:", "Select Second Clip model file (Clip-G for SD3)",sd_clip2_var, 28, width=280, singlerow=True, filetypes=[("*.safetensors *.gguf","*.safetensors *.gguf")],tooltiptxt="Select a .safetensors Clip-2 file to be loaded.\nThis is Clip-G for SD3") makefileentry(images_tab, "PhotoMaker:", "Select Optional PhotoMaker model file (SDXL)",sd_photomaker_var, 30, width=280, singlerow=True, filetypes=[("*.safetensors *.gguf","*.safetensors *.gguf")],tooltiptxt="PhotoMaker is a model that allows face cloning.\nSelect a .safetensors PhotoMaker file to be loaded (SDXL only).") @@ -10381,7 +10382,7 @@ def show_gui(): args.sdvae = sd_vae_var.get() args.sdaudiovae = sd_audio_vae_var.get() if sd_audio_vae_var.get() != "" else "" args.sdconvdirect = sd_convdirect_option(sd_convdirect_var.get()) - args.sdt5xxl = sd_t5xxl_var.get() if sd_t5xxl_var.get() != "" else "" + args.sdllm = sd_llm_var.get() if sd_llm_var.get() != "" else "" args.sdclip1 = sd_clip1_var.get() if sd_clip1_var.get() != "" else "" args.sdclip2 = sd_clip2_var.get() if sd_clip2_var.get() != "" else "" args.sdphotomaker = sd_photomaker_var.get() if sd_photomaker_var.get() != "" else "" @@ -10684,7 +10685,7 @@ def show_gui(): sd_convdirect_var.set(sd_convdirect_option(mydict.get("sdconvdirect"))) sd_vae_var.set(mydict["sdvae"] if ("sdvae" in mydict and mydict["sdvae"]) else "") sd_audio_vae_var.set(mydict["sdaudiovae"] if ("sdaudiovae" in mydict and mydict["sdaudiovae"]) else "") - sd_t5xxl_var.set(mydict["sdt5xxl"] if ("sdt5xxl" in mydict and mydict["sdt5xxl"]) else "") + sd_llm_var.set(mydict["sdllm"] if ("sdllm" in mydict and mydict["sdllm"]) else "") sd_clip1_var.set(mydict["sdclip1"] if ("sdclip1" in mydict and mydict["sdclip1"]) else "") sd_clip2_var.set(mydict["sdclip2"] if ("sdclip2" in mydict and mydict["sdclip2"]) else "") sd_photomaker_var.set(mydict["sdphotomaker"] if ("sdphotomaker" in mydict and mydict["sdphotomaker"]) else "") @@ -11176,6 +11177,8 @@ def convert_invalid_args(args): dict["port"] = dict["port_param"] if "sdnotile" in dict and "sdtiledvae" not in dict: dict["sdtiledvae"] = (0 if (dict["sdnotile"]) else default_vae_tile_threshold) # convert legacy option + if "sdt5xxl" in dict and dict["sdt5xxl"] and not dict.get("sdllm"): + dict["sdllm"] = dict["sdt5xxl"] # convert legacy option if 'sdquant' in dict and type(dict['sdquant']) is bool: dict['sdquant'] = 2 if dict['sdquant'] else 0 if "sdclipl" in dict and "sdclip1" not in dict: @@ -12277,7 +12280,7 @@ autoswap_model_fields = { "tts": ["ttsmodel", "ttswavtokenizer"], "embed": ["embeddingsmodel"], "music": ["musicllm", "musicembeddings", "musicdiffusion", "musicvae"], - "image": ["sdmodel", "sdt5xxl", "sdclip1", "sdclip2", "sdphotomaker", "sdupscaler", "sdvae", "sdaudiovae", "sdlora"], + "image": ["sdmodel", "sdllm", "sdclip1", "sdclip2", "sdphotomaker", "sdupscaler", "sdvae", "sdaudiovae", "sdlora"], } autoswap_primary_fields = { @@ -12504,10 +12507,10 @@ def kcpp_main_process(launch_args, g_memory=None, gui_launcher=False): dlfile = download_model_from_url(args.sdmodel,[".gguf",".safetensors"],min_file_size=500000) if dlfile: args.sdmodel = dlfile - if args.sdt5xxl and args.sdt5xxl!="": - dlfile = download_model_from_url(args.sdt5xxl,[".gguf",".safetensors"],min_file_size=500000) + if args.sdllm and args.sdllm!="": + dlfile = download_model_from_url(args.sdllm,[".gguf",".safetensors"],min_file_size=500000) if dlfile: - args.sdt5xxl = dlfile + args.sdllm = dlfile if args.sdclip1 and args.sdclip1!="": dlfile = download_model_from_url(args.sdclip1,[".gguf",".safetensors"],min_file_size=500000) if dlfile: @@ -12872,7 +12875,7 @@ def kcpp_main_process(launch_args, g_memory=None, gui_launcher=False): exit_with_error(2,f"Cannot find image model file: {imgmodel}") else: imgvae = "" - imgt5xxl = "" + imgllm = "" imgclip1 = "" imgclip2 = "" imgphotomaker = "" @@ -12890,11 +12893,11 @@ def kcpp_main_process(launch_args, g_memory=None, gui_launcher=False): imgaudiovae = os.path.abspath(args.sdaudiovae) else: print("Missing SD Audio VAE model file...") - if args.sdt5xxl: - if os.path.exists(args.sdt5xxl): - imgt5xxl = os.path.abspath(args.sdt5xxl) + if args.sdllm: + if os.path.exists(args.sdllm): + imgllm = os.path.abspath(args.sdllm) else: - print("Missing SD T5-XXL model file...") + print("Missing image LLM model file...") if args.sdclip1: if os.path.exists(args.sdclip1): imgclip1 = os.path.abspath(args.sdclip1) @@ -12921,7 +12924,7 @@ def kcpp_main_process(launch_args, g_memory=None, gui_launcher=False): friendlysdmodelname = os.path.basename(imgmodel) friendlysdmodelname = os.path.splitext(friendlysdmodelname)[0] friendlysdmodelname = sanitize_string(friendlysdmodelname) - loadok = sd_load_model(imgmodel,imgvae,imgt5xxl,imgclip1,imgclip2,imgphotomaker,imgupscaler,imgaudiovae) + loadok = sd_load_model(imgmodel,imgvae,imgllm,imgclip1,imgclip2,imgphotomaker,imgupscaler,imgaudiovae) print("Load Image Model OK: " + str(loadok)) if not loadok: exitcounter = 999 @@ -13527,7 +13530,7 @@ if __name__ == '__main__': sdparsergroup.add_argument("--sdoffloadcpu", help="Offload image weights in RAM to save VRAM, swap into VRAM when needed.", action='store_true') sdparsergroup.add_argument("--sdphotomaker", metavar=('[filename]'), help="PhotoMaker is a model that allows face cloning. Specify a PhotoMaker safetensors model which will be applied replacing img2img. SDXL models only. Leave blank if unused.", default="") sdparsergrouplora.add_argument("--sdquant", metavar=('[quantization level 0/1/2]'), help="If specified, loads the model quantized to save memory. 0=off, 1=q8, 2=q4", type=int, choices=[0,1,2], nargs="?", const=2, default=0) - sdparsergroup.add_argument("--sdt5xxl", metavar=('[filename]'), help="Specify a T5-XXL safetensors model. Leave blank if prebaked or unused.", default="") + sdparsergroup.add_argument("--sdllm", metavar=('[filename]'), help="Specify an image generation text encoder or LLM (.safetensors or .gguf). Leave blank if prebaked or unused.", default="") sdparsergroup.add_argument("--sdthreads", metavar=('[threads]'), help="Use a different number of threads for image generation if specified. Otherwise, has the same value as --threads.", type=int, default=0) sdparsergroup.add_argument("--sdtiledvae", metavar=('[maxres]'), help="Adjust the automatic VAE tiling trigger for images above this size. 0 disables vae tiling.", type=int, default=default_vae_tile_threshold) sdparsergroup.add_argument("--sdupscaler", metavar=('[filename]'), help="You can use ESRGAN as an upscaling model to resize images. Leave blank if unused.", default="") @@ -13587,6 +13590,7 @@ if __name__ == '__main__': deprecatedgroup.add_argument("--nopipelineparallel", help=argparse.SUPPRESS, action='store_true') #now to automatically enable when ubatch < batchsize and multigpu deprecatedgroup.add_argument("--pipelineparallel", help=argparse.SUPPRESS, action='store_true') #changed to nopipelineparallel deprecatedgroup.add_argument("--sdnotile", help=argparse.SUPPRESS, action='store_true') # legacy option, see sdtiledvae + deprecatedgroup.add_argument("--sdt5xxl", help=argparse.SUPPRESS, metavar=('[filename]')) # legacy option, see sdllm deprecatedgroup.add_argument("--sdvaecpu", help=argparse.SUPPRESS, action='store_true') # legacy option, see sdvaedevice deprecatedgroup.add_argument("--sdclipgpu", help=argparse.SUPPRESS, action='store_true') # legacy option, see sdclipgpu deprecatedgroup.add_argument("--forceversion", help=argparse.SUPPRESS, action='store_true') #no longer used