Spaces:
Runtime error
Runtime error
Commit
·
782e7af
1
Parent(s):
8ffbf70
update
Browse files- app.py +17 -9
- templates/index.html +1 -1
app.py
CHANGED
|
@@ -63,10 +63,17 @@ import os
|
|
| 63 |
from datetime import datetime
|
| 64 |
|
| 65 |
from huggingface_hub import HfApi
|
| 66 |
-
|
| 67 |
def save_session_data(username, data):
|
| 68 |
try:
|
| 69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
|
| 71 |
# Convert data to JSON string
|
| 72 |
json_data = json.dumps(data, indent=4)
|
|
@@ -88,7 +95,7 @@ def save_session_data(username, data):
|
|
| 88 |
# Remove the temporary file
|
| 89 |
os.remove(temp_file_path)
|
| 90 |
|
| 91 |
-
logger.info(f"Session data saved for user {username} in Hugging Face Data Space")
|
| 92 |
except Exception as e:
|
| 93 |
logger.exception(f"Error saving session data for user {username}: {e}")
|
| 94 |
|
|
@@ -100,8 +107,8 @@ def load_session_data(username):
|
|
| 100 |
api = HfApi()
|
| 101 |
files = api.list_repo_files(repo_id="luulinh90s/Tabular-LLM-Study-Data", repo_type="space")
|
| 102 |
|
| 103 |
-
# Filter
|
| 104 |
-
user_files = [f for f in files if f.startswith(f'session_data_pref/{username}_')
|
| 105 |
|
| 106 |
if not user_files:
|
| 107 |
logger.warning(f"No session data found for user {username}")
|
|
@@ -186,8 +193,8 @@ def index():
|
|
| 186 |
return "Please fill in all fields and select exactly two methods.", 400
|
| 187 |
|
| 188 |
try:
|
| 189 |
-
|
| 190 |
-
random.seed(
|
| 191 |
all_samples = load_samples(methods)
|
| 192 |
selected_samples = select_balanced_samples(all_samples)
|
| 193 |
logger.info(f"Number of selected samples: {len(selected_samples)}")
|
|
@@ -196,14 +203,15 @@ def index():
|
|
| 196 |
logger.error("No samples were selected.")
|
| 197 |
return "No samples were selected", 500
|
| 198 |
|
|
|
|
| 199 |
session_data = {
|
| 200 |
'username': username,
|
| 201 |
-
'seed': seed,
|
| 202 |
'methods': methods,
|
| 203 |
'selected_samples': selected_samples,
|
| 204 |
'current_index': 0,
|
| 205 |
'responses': [],
|
| 206 |
-
'start_time':
|
| 207 |
}
|
| 208 |
save_session_data(username, session_data)
|
| 209 |
logger.info(f"Session data initialized for user: {username}")
|
|
|
|
| 63 |
from datetime import datetime
|
| 64 |
|
| 65 |
from huggingface_hub import HfApi
|
|
|
|
| 66 |
def save_session_data(username, data):
|
| 67 |
try:
|
| 68 |
+
# Extract seed and start_time from the data
|
| 69 |
+
seed = data.get('seed', 'unknown')
|
| 70 |
+
start_time = data.get('start_time', datetime.now().isoformat())
|
| 71 |
+
|
| 72 |
+
# Create a filename with username, seed, and start_time
|
| 73 |
+
file_name = f'{username}_seed{seed}_{start_time}_session.json'
|
| 74 |
+
|
| 75 |
+
# Remove any characters that might not be safe for filenames
|
| 76 |
+
file_name = "".join(c for c in file_name if c.isalnum() or c in ['_', '-', '.'])
|
| 77 |
|
| 78 |
# Convert data to JSON string
|
| 79 |
json_data = json.dumps(data, indent=4)
|
|
|
|
| 95 |
# Remove the temporary file
|
| 96 |
os.remove(temp_file_path)
|
| 97 |
|
| 98 |
+
logger.info(f"Session data saved for user {username} with seed {seed} and start time {start_time} in Hugging Face Data Space")
|
| 99 |
except Exception as e:
|
| 100 |
logger.exception(f"Error saving session data for user {username}: {e}")
|
| 101 |
|
|
|
|
| 107 |
api = HfApi()
|
| 108 |
files = api.list_repo_files(repo_id="luulinh90s/Tabular-LLM-Study-Data", repo_type="space")
|
| 109 |
|
| 110 |
+
# Filter files for the user
|
| 111 |
+
user_files = [f for f in files if f.startswith(f'session_data_pref/{username}_')]
|
| 112 |
|
| 113 |
if not user_files:
|
| 114 |
logger.warning(f"No session data found for user {username}")
|
|
|
|
| 193 |
return "Please fill in all fields and select exactly two methods.", 400
|
| 194 |
|
| 195 |
try:
|
| 196 |
+
seed_int = int(seed) # Convert to int for random.seed()
|
| 197 |
+
random.seed(seed_int)
|
| 198 |
all_samples = load_samples(methods)
|
| 199 |
selected_samples = select_balanced_samples(all_samples)
|
| 200 |
logger.info(f"Number of selected samples: {len(selected_samples)}")
|
|
|
|
| 203 |
logger.error("No samples were selected.")
|
| 204 |
return "No samples were selected", 500
|
| 205 |
|
| 206 |
+
start_time = datetime.now().isoformat()
|
| 207 |
session_data = {
|
| 208 |
'username': username,
|
| 209 |
+
'seed': seed, # Store as string
|
| 210 |
'methods': methods,
|
| 211 |
'selected_samples': selected_samples,
|
| 212 |
'current_index': 0,
|
| 213 |
'responses': [],
|
| 214 |
+
'start_time': start_time
|
| 215 |
}
|
| 216 |
save_session_data(username, session_data)
|
| 217 |
logger.info(f"Session data initialized for user: {username}")
|
templates/index.html
CHANGED
|
@@ -154,7 +154,7 @@
|
|
| 154 |
|
| 155 |
<div class="method-buttons">
|
| 156 |
<div class="method-button" onclick="selectMethod('No-XAI')" data-method="No-XAI">
|
| 157 |
-
No-XAI
|
| 158 |
</div>
|
| 159 |
<div class="method-button" onclick="selectMethod('Dater')" data-method="Dater">
|
| 160 |
Dater
|
|
|
|
| 154 |
|
| 155 |
<div class="method-buttons">
|
| 156 |
<div class="method-button" onclick="selectMethod('No-XAI')" data-method="No-XAI">
|
| 157 |
+
No-XAI
|
| 158 |
</div>
|
| 159 |
<div class="method-button" onclick="selectMethod('Dater')" data-method="Dater">
|
| 160 |
Dater
|