new baseconfig setting that aworks in router mode#2130
new baseconfig setting that aworks in router mode#2130LostRuins merged 7 commits intoLostRuins:concedo_experimentalfrom
Conversation
5ca01b2 to
5e5c46f
Compare
|
btw i extensively tested it on my own setup, made sure it actually works. i wonder if it will work the same for you? |
…is NOT, it simply replaces the field (+1 squashed commits) Squashed commits: [95e816b16] simplify baseconfig, if specified AND restart_override_config_target is NOT, it simply replaces the field
|
I also added the field ignorelist at the proper location. These are the new ignorefields which will never be modified during a model swap.
|
|
most of that seems good, but by swapping the order back around, i think you've broken it: elif targetfilepath and targetfilepath2 and targetfilepath2!="":
# stuff applied later overwrites stuff applied earlier, if they have the same field names
reload_from_new_args(defaultargs)
reload_new_config(targetfilepath2,vars(args),True)
reload_new_config(targetfilepath,vars(args),True)try setting useswa or contextsize in a config that's not the baseconfig (modelconfig.kcpps in case of i see your logic. if this was actually the case, it wouldn't break but the actual code is: #if override config is not specified, AND baseconfig is, swap it as our override
if restart_target!="unload_model" and restart_target!="initial_model" and args.baseconfig and not targetfilepath2:
basecfg_path = os.path.abspath(args.baseconfig)
if os.path.exists(basecfg_path):
targetfilepath2 = basecfg_path
print(f"No override config provided, using baseconfig {args.baseconfig}")which loads the base config on top of the normal config, breaking everything. the base config is supposed to be the bottom layer, with the other configs being loaded on top of it and as for the way you're loading override configs.. that doesn't make much sense to me either, why call them override configs if they are instead the configs that get overridden by your selected config? |
|
I think maybe you are expecting the base config to be applied immediately after launch even if no model swap if triggered? but wouldn't that instantly overwrite everything you have set in a config, a GUI, or even launch params? e.g. |
|
I got rid of all references to overrideconfig to reduce confusion 45737ef, and i swapped the fields in the GUI |


implements a new
--baseconfigcommandline setting. it's intended for admin mode and router mode.In router mode (the main usecase), it makes it so that when you switch between kcpps files/configs, it applies those configs ON TOP of the baseconfig you specified. It does that by applying those configs as override configs on top of the base config, instead of loading them as the main config.
In admin mode, it serves as a convenient default, where if you load a kcpps file using koboldlite's dialog without specifying a base config (so if you just specify one config file), it loads that on top of the base config (so here too it turns it into an override config). But you can still select your own primary and secondary config and it will still respect that and allow you to manually select a different primary and secondary config :)
this makes router mode very useful because you can now create a base config file containing all your usual koboldcpp settings like what gpu backend to use, how many gpu layers, embedding models, tts models, and so on, and then you can have individual model config files that contain only the settings that are needed for specific models!