@@ -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