Update app.py
Browse files
app.py
CHANGED
|
@@ -2,15 +2,33 @@ import gradio as gr
|
|
| 2 |
from huggingface_hub import InferenceClient
|
| 3 |
from datasets import load_dataset
|
| 4 |
import random
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
from starlette.middleware.sessions import SessionMiddleware
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
-
#
|
| 12 |
-
|
| 13 |
-
gr.configure_session(secret_key=secrets.token_hex(32))
|
| 14 |
|
| 15 |
# Load math datasets for sample problems
|
| 16 |
ds = load_dataset("HuggingFaceH4/ultrachat_200k", streaming=True)
|
|
|
|
| 2 |
from huggingface_hub import InferenceClient
|
| 3 |
from datasets import load_dataset
|
| 4 |
import random
|
| 5 |
+
# Fix for SessionMiddleware error in HF Spaces
|
| 6 |
+
def configure_gradio_session():
|
| 7 |
+
"""Configure session middleware for Gradio in HF Spaces"""
|
| 8 |
+
try:
|
| 9 |
+
from starlette.middleware.sessions import SessionMiddleware
|
| 10 |
+
import gradio.routes
|
| 11 |
+
|
| 12 |
+
# Store original create_app function
|
| 13 |
+
if hasattr(gradio.routes, 'App') and hasattr(gradio.routes.App, 'create_app'):
|
| 14 |
+
original_create_app = gradio.routes.App.create_app
|
| 15 |
+
|
| 16 |
+
def patched_create_app(self, *args, **kwargs):
|
| 17 |
+
app = original_create_app(self, *args, **kwargs)
|
| 18 |
+
# Add session middleware
|
| 19 |
+
app.add_middleware(
|
| 20 |
+
SessionMiddleware,
|
| 21 |
+
secret_key=os.getenv("HF_SESSION_SECRET", secrets.token_hex(32))
|
| 22 |
+
)
|
| 23 |
+
return app
|
| 24 |
+
|
| 25 |
+
gradio.routes.App.create_app = patched_create_app
|
| 26 |
+
|
| 27 |
+
except (ImportError, AttributeError) as e:
|
| 28 |
+
print(f"Warning: Could not configure session middleware: {e}")
|
| 29 |
|
| 30 |
+
# Call the configuration function
|
| 31 |
+
configure_gradio_session()
|
|
|
|
| 32 |
|
| 33 |
# Load math datasets for sample problems
|
| 34 |
ds = load_dataset("HuggingFaceH4/ultrachat_200k", streaming=True)
|