Spaces:
Running
Running
move get_fallback_model and fallback_model to the beginning
Browse files
app.py
CHANGED
@@ -234,16 +234,25 @@ def initialize_model_once(model_key):
|
|
234 |
|
235 |
return MODEL_CACHE["tokenizer"], MODEL_CACHE["model"], MODEL_CACHE.get("is_gguf", False)
|
236 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
def create_llm_pipeline(model_key):
|
238 |
"""Create a new pipeline using the specified model with better error handling"""
|
239 |
try:
|
240 |
print(f"Creating pipeline for model: {model_key}")
|
|
|
241 |
tokenizer, model, is_gguf = initialize_model_once(model_key)
|
242 |
|
243 |
# Additional check to ensure model was properly loaded
|
244 |
if model is None:
|
245 |
print(f"Model is None for {model_key}, falling back to alternate model")
|
246 |
-
fallback_model = get_fallback_model(model_key)
|
247 |
if fallback_model != model_key:
|
248 |
print(f"Attempting to use fallback model: {fallback_model}")
|
249 |
tokenizer, model, is_gguf = initialize_model_once(fallback_model)
|
@@ -303,15 +312,6 @@ def create_llm_pipeline(model_key):
|
|
303 |
print(traceback.format_exc())
|
304 |
raise RuntimeError(f"Failed to create pipeline: {str(e)}")
|
305 |
|
306 |
-
def get_fallback_model(current_model):
|
307 |
-
"""Get appropriate fallback model for problematic models"""
|
308 |
-
fallback_map = {
|
309 |
-
"Phi-4 Mini Instruct": "TinyLlama Chat",
|
310 |
-
"DeepSeek Lite Chat": "DeepSeek Coder Instruct",
|
311 |
-
"Flan T5 Small": "Llama 2 Chat"
|
312 |
-
}
|
313 |
-
return fallback_map.get(current_model, "TinyLlama Chat")
|
314 |
-
|
315 |
# Modified handle_model_loading_error function
|
316 |
def handle_model_loading_error(model_key, session_id):
|
317 |
"""Handle model loading errors by providing alternative model suggestions or fallbacks"""
|
|
|
234 |
|
235 |
return MODEL_CACHE["tokenizer"], MODEL_CACHE["model"], MODEL_CACHE.get("is_gguf", False)
|
236 |
|
237 |
+
def get_fallback_model(current_model):
|
238 |
+
"""Get appropriate fallback model for problematic models"""
|
239 |
+
fallback_map = {
|
240 |
+
"Phi-4 Mini Instruct": "TinyLlama Chat",
|
241 |
+
"DeepSeek Lite Chat": "DeepSeek Coder Instruct",
|
242 |
+
"Flan T5 Small": "Llama 2 Chat"
|
243 |
+
}
|
244 |
+
return fallback_map.get(current_model, "Llama 2 Chat")
|
245 |
+
|
246 |
def create_llm_pipeline(model_key):
|
247 |
"""Create a new pipeline using the specified model with better error handling"""
|
248 |
try:
|
249 |
print(f"Creating pipeline for model: {model_key}")
|
250 |
+
fallback_model = get_fallback_model(model_key) # Define fallback_model at the beginning
|
251 |
tokenizer, model, is_gguf = initialize_model_once(model_key)
|
252 |
|
253 |
# Additional check to ensure model was properly loaded
|
254 |
if model is None:
|
255 |
print(f"Model is None for {model_key}, falling back to alternate model")
|
|
|
256 |
if fallback_model != model_key:
|
257 |
print(f"Attempting to use fallback model: {fallback_model}")
|
258 |
tokenizer, model, is_gguf = initialize_model_once(fallback_model)
|
|
|
312 |
print(traceback.format_exc())
|
313 |
raise RuntimeError(f"Failed to create pipeline: {str(e)}")
|
314 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
# Modified handle_model_loading_error function
|
316 |
def handle_model_loading_error(model_key, session_id):
|
317 |
"""Handle model loading errors by providing alternative model suggestions or fallbacks"""
|