Spaces:
Running
on
Zero
Running
on
Zero
tori29umai
commited on
Commit
•
dc89a88
1
Parent(s):
90fdbbe
Update app.py
Browse files
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 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
|
|
|
|
325 |
else:
|
326 |
-
|
327 |
-
|
|
|
|
|
|
|
|
|
|
|
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')
|