Skip to content

Commit 5396e62

Browse files
committed
allow resetting missing fields to default
1 parent 96dfa7a commit 5396e62

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

koboldcpp.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6510,10 +6510,13 @@ def reload_from_new_args(newargs):
65106510
except Exception as e:
65116511
print(f"Reload New Config Failed: {e}")
65126512

6513-
def reload_new_config(filename): #for changing config after launch
6513+
def reload_new_config(filename,defaultargs): #for changing config after launch
65146514
with open(filename, 'r', encoding='utf-8', errors='ignore') as f:
65156515
try:
65166516
config = json.load(f)
6517+
for key, value in defaultargs.items(): # Fill missing defaults directly into config
6518+
if key not in config:
6519+
config[key] = value
65176520
reload_from_new_args(config)
65186521
except Exception as e:
65196522
print(f"Reload New Config Failed: {e}")
@@ -6953,6 +6956,7 @@ def main(launch_args, default_args):
69536956
dirpath = os.path.abspath(args.admindir)
69546957
targetfilepath = os.path.join(dirpath, restart_target)
69556958
targetfilepath2 = os.path.join(dirpath, restart_override_config_target)
6959+
defaultargs = vars(default_args)
69566960
if (os.path.exists(targetfilepath) or restart_target=="unload_model") and (restart_override_config_target=="" or os.path.exists(targetfilepath2)):
69576961
print("Terminating old process...")
69586962
global_memory["load_complete"] = False
@@ -6962,18 +6966,18 @@ def main(launch_args, default_args):
69626966
print("Restarting KoboldCpp...")
69636967
fault_recovery_mode = True
69646968
if restart_target=="unload_model":
6965-
reload_from_new_args(vars(default_args))
6969+
reload_from_new_args(defaultargs)
69666970
args.model_param = None
69676971
args.model = None
69686972
args.nomodel = True
69696973
elif targetfilepath.endswith(".gguf") and restart_override_config_target=="":
6970-
reload_from_new_args(vars(default_args))
6974+
reload_from_new_args(defaultargs)
69716975
args.model_param = targetfilepath
69726976
elif targetfilepath.endswith(".gguf") and restart_override_config_target!="":
6973-
reload_new_config(targetfilepath2)
6977+
reload_new_config(targetfilepath2,defaultargs)
69746978
args.model_param = targetfilepath
69756979
else:
6976-
reload_new_config(targetfilepath)
6980+
reload_new_config(targetfilepath,defaultargs)
69776981
kcpp_instance = multiprocessing.Process(target=kcpp_main_process,kwargs={"launch_args": args, "g_memory": global_memory, "gui_launcher": False})
69786982
kcpp_instance.daemon = True
69796983
kcpp_instance.start()

0 commit comments

Comments
 (0)