Spaces:
Runtime error
Runtime error
Fix: Fix syntax error in exception handling
Browse files
app.py
CHANGED
|
@@ -1054,25 +1054,38 @@ def _create_demo():
|
|
| 1054 |
|
| 1055 |
# Create demo at module level (like HF docs example)
|
| 1056 |
# This ensures Spaces can always find it when importing the module
|
| 1057 |
-
# CRITICAL:
|
| 1058 |
-
|
| 1059 |
-
|
| 1060 |
-
|
| 1061 |
-
|
| 1062 |
-
|
| 1063 |
-
|
| 1064 |
-
|
| 1065 |
-
|
| 1066 |
-
|
| 1067 |
-
|
| 1068 |
-
|
| 1069 |
-
|
| 1070 |
-
|
| 1071 |
-
|
| 1072 |
-
|
| 1073 |
-
|
| 1074 |
-
|
| 1075 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1076 |
import traceback
|
| 1077 |
error_trace = traceback.format_exc()
|
| 1078 |
logger.error(f"Full traceback: {error_trace}")
|
|
|
|
| 1054 |
|
| 1055 |
# Create demo at module level (like HF docs example)
|
| 1056 |
# This ensures Spaces can always find it when importing the module
|
| 1057 |
+
# CRITICAL: For Spaces, create demo directly at module level (not through function)
|
| 1058 |
+
# This ensures it's definitely accessible when Spaces imports the module
|
| 1059 |
+
if IS_SPACES:
|
| 1060 |
+
logger.info("Creating demo directly at module level for Spaces...")
|
| 1061 |
+
try:
|
| 1062 |
+
demo = _create_demo()
|
| 1063 |
+
if demo is None or not isinstance(demo, (gr.Blocks, gr.Interface)):
|
| 1064 |
+
raise ValueError(f"Demo creation failed: {type(demo)}")
|
| 1065 |
+
logger.info("Demo created successfully for Spaces")
|
| 1066 |
+
except Exception as e:
|
| 1067 |
+
logger.error(f"Error creating demo for Spaces: {e}", exc_info=True)
|
| 1068 |
+
import traceback
|
| 1069 |
+
error_trace = traceback.format_exc()
|
| 1070 |
+
# Create fallback demo
|
| 1071 |
+
with gr.Blocks(title="CGT-LLM-Beta RAG Chatbot") as demo:
|
| 1072 |
+
gr.Markdown(f"""
|
| 1073 |
+
# Error Creating Demo
|
| 1074 |
+
|
| 1075 |
+
**Error:** {str(e)}
|
| 1076 |
+
|
| 1077 |
+
**Traceback:**
|
| 1078 |
+
```
|
| 1079 |
+
{error_trace[:1500]}...
|
| 1080 |
+
```
|
| 1081 |
+
""")
|
| 1082 |
+
else:
|
| 1083 |
+
# For local execution, use function
|
| 1084 |
+
try:
|
| 1085 |
+
demo = _create_demo()
|
| 1086 |
+
logger.info("Demo creation completed")
|
| 1087 |
+
except Exception as e:
|
| 1088 |
+
logger.error(f"CRITICAL: Error in demo creation wrapper: {e}", exc_info=True)
|
| 1089 |
import traceback
|
| 1090 |
error_trace = traceback.format_exc()
|
| 1091 |
logger.error(f"Full traceback: {error_trace}")
|