YucYux
commited on
Commit
·
f6ba9f2
1
Parent(s):
6cadff6
Fixed an error during asynchronous model loading
Browse files
app.py
CHANGED
|
@@ -165,17 +165,38 @@ def handle_model_selection_change(selected_model_name_ui):
|
|
| 165 |
# 尝试加载模型
|
| 166 |
status_msg = _load_model_and_tokenizer_core(actual_path, selected_model_name_ui)
|
| 167 |
|
| 168 |
-
#
|
| 169 |
model_load_failed = False
|
| 170 |
|
| 171 |
-
#
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
| 175 |
-
|
| 176 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 177 |
model_load_failed = True
|
| 178 |
-
status_msg = f"
|
| 179 |
|
| 180 |
if model_load_failed:
|
| 181 |
# 如果是 MixCoT 模型但加载失败,则关闭 thinking mode
|
|
|
|
| 165 |
# 尝试加载模型
|
| 166 |
status_msg = _load_model_and_tokenizer_core(actual_path, selected_model_name_ui)
|
| 167 |
|
| 168 |
+
# 修复后的错误检查逻辑:只依赖状态消息来判断是否成功
|
| 169 |
model_load_failed = False
|
| 170 |
|
| 171 |
+
# 检查状态消息中是否包含明确的错误指示
|
| 172 |
+
error_indicators = [
|
| 173 |
+
"Error loading model",
|
| 174 |
+
"Failed to",
|
| 175 |
+
"Cannot load",
|
| 176 |
+
"not defined",
|
| 177 |
+
"not yet available"
|
| 178 |
+
]
|
| 179 |
+
|
| 180 |
+
# 成功指示(任一存在则认为成功)
|
| 181 |
+
success_indicators = [
|
| 182 |
+
"loaded to", # "Model 'XXX' loaded to cuda"
|
| 183 |
+
"is already loaded", # "Model 'XXX' is already loaded"
|
| 184 |
+
"loaded.", # "Tokenizer loaded."
|
| 185 |
+
]
|
| 186 |
+
|
| 187 |
+
# 检查是否有错误指示
|
| 188 |
+
for error_indicator in error_indicators:
|
| 189 |
+
if error_indicator in status_msg:
|
| 190 |
+
model_load_failed = True
|
| 191 |
+
break
|
| 192 |
+
|
| 193 |
+
# 如果没有错误指示,检查是否有成功指示
|
| 194 |
+
if not model_load_failed:
|
| 195 |
+
has_success_indicator = any(success_indicator in status_msg for success_indicator in success_indicators)
|
| 196 |
+
# 如果既没有错误指示也没有成功指示,那就可能有问题
|
| 197 |
+
if not has_success_indicator:
|
| 198 |
model_load_failed = True
|
| 199 |
+
status_msg = f"Uncertain model loading status for '{selected_model_name_ui}'. {status_msg}"
|
| 200 |
|
| 201 |
if model_load_failed:
|
| 202 |
# 如果是 MixCoT 模型但加载失败,则关闭 thinking mode
|