arahrooh commited on
Commit
65eb481
·
1 Parent(s): 17bcc25

Fix: Fix syntax error in exception handling

Browse files
Files changed (1) hide show
  1. app.py +32 -19
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: Create demo directly, not through function, to ensure it's at module scope
1058
- try:
1059
- if IS_SPACES:
1060
- logger.info("Creating demo for Spaces...")
1061
- else:
1062
- logger.info("Creating demo for local execution...")
1063
-
1064
- # Call the function to create demo
1065
- demo = _create_demo()
1066
-
1067
- # CRITICAL: Ensure demo is definitely set at module level
1068
- # Re-assign to make absolutely sure it's accessible
1069
- if demo is not None and isinstance(demo, (gr.Blocks, gr.Interface)):
1070
- logger.info("Demo creation completed successfully")
1071
- else:
1072
- raise ValueError(f"Demo creation returned invalid result: {type(demo)}")
1073
-
1074
- except Exception as e:
1075
- logger.error(f"CRITICAL: Error in demo creation wrapper: {e}", exc_info=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
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}")