tori29umai commited on
Commit
dc89a88
1 Parent(s): 90fdbbe

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -10
app.py CHANGED
@@ -314,17 +314,24 @@ class CharacterMaker:
314
  model_path = os.path.join(MODEL_DIR, self.settings[f'DEFAULT_{model_type.upper()}_MODEL'])
315
  n_gpu_layers = self.settings[f'{model_type.lower()}_n_gpu_layers']
316
 
317
- # 設定が変更されたかどうかをチェック
318
  current_settings = self.get_current_settings(model_type)
319
- if self.last_loaded_settings != current_settings:
320
- print(f"設定が変更されたため、{model_type}モデルを再ロードします。")
321
- self.reload_model(model_type, model_path, n_gpu_layers)
322
- elif self.llama and self.current_model == model_type:
323
- print(f"{model_type}モデルは既にロードされており、設定も変更されていません。")
324
- return
 
 
325
  else:
326
- print(f"{model_type}モデルをロードします。")
327
- self.reload_model(model_type, model_path, n_gpu_layers)
 
 
 
 
 
328
 
329
  def reload_model(self, model_type, model_path, n_gpu_layers):
330
  if self.llama:
@@ -344,7 +351,6 @@ class CharacterMaker:
344
  self.model_loaded.set()
345
 
346
  def get_current_settings(self, model_type):
347
- # 現在の設定を取得
348
  return {
349
  'model_path': self.settings[f'DEFAULT_{model_type.upper()}_MODEL'],
350
  'n_gpu_layers': self.settings[f'{model_type.lower()}_n_gpu_layers'],
@@ -355,6 +361,10 @@ class CharacterMaker:
355
  'n_ctx': self.settings[f'{model_type.lower()}_n_ctx']
356
  }
357
 
 
 
 
 
358
 
359
  def generate_response(self, input_str):
360
  self.load_model('CHAT')
 
314
  model_path = os.path.join(MODEL_DIR, self.settings[f'DEFAULT_{model_type.upper()}_MODEL'])
315
  n_gpu_layers = self.settings[f'{model_type.lower()}_n_gpu_layers']
316
 
317
+ # 現在の設定を取得
318
  current_settings = self.get_current_settings(model_type)
319
+
320
+ # GENモデルとCHATモデルの設定が同じかチェック
321
+ if self.are_models_identical():
322
+ if self.llama and self.last_loaded_settings == current_settings:
323
+ print(f"GENモデルとCHATモデルの設定が同じで、既にロードされています。モデルの切り替えはスキップします。")
324
+ return
325
+ else:
326
+ print(f"GENモデルとCHATモデルの設定が同じですが、まだロードされていないかパラメータが変更されました。モデルをロードします。")
327
  else:
328
+ if self.llama and self.current_model == model_type and self.last_loaded_settings == current_settings:
329
+ print(f"{model_type}モデルは既にロードされており、設定も変更されていません。")
330
+ return
331
+ else:
332
+ print(f"{model_type}モデルをロードします。")
333
+
334
+ self.reload_model(model_type, model_path, n_gpu_layers)
335
 
336
  def reload_model(self, model_type, model_path, n_gpu_layers):
337
  if self.llama:
 
351
  self.model_loaded.set()
352
 
353
  def get_current_settings(self, model_type):
 
354
  return {
355
  'model_path': self.settings[f'DEFAULT_{model_type.upper()}_MODEL'],
356
  'n_gpu_layers': self.settings[f'{model_type.lower()}_n_gpu_layers'],
 
361
  'n_ctx': self.settings[f'{model_type.lower()}_n_ctx']
362
  }
363
 
364
+ def are_models_identical(self):
365
+ chat_settings = self.get_current_settings('CHAT')
366
+ gen_settings = self.get_current_settings('GEN')
367
+ return chat_settings == gen_settings
368
 
369
  def generate_response(self, input_str):
370
  self.load_model('CHAT')