Spaces:
Sleeping
Sleeping
Yoad
commited on
Commit
·
abf28c9
1
Parent(s):
2b41c1c
Allow preloading leaderboard results
Browse files- src/app.py +34 -1
src/app.py
CHANGED
|
@@ -37,6 +37,9 @@ if "audio_preview_active" not in st.session_state:
|
|
| 37 |
|
| 38 |
if "uploaded_file" not in st.session_state:
|
| 39 |
st.session_state.results_file = None
|
|
|
|
|
|
|
|
|
|
| 40 |
|
| 41 |
if "selected_entry_idx" not in st.session_state:
|
| 42 |
st.session_state.selected_entry_idx = 0
|
|
@@ -81,6 +84,13 @@ def on_file_upload():
|
|
| 81 |
st.session_state.results_file = None
|
| 82 |
|
| 83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
@st.cache_data
|
| 85 |
def get_leaderboard_result_csv_paths(root_search_path):
|
| 86 |
fs = HfFileSystem(token=HF_API_TOKEN)
|
|
@@ -118,6 +128,8 @@ def choose_input_file_from_leaderboard():
|
|
| 118 |
|
| 119 |
on_file_upload()
|
| 120 |
st.session_state.results_file = uploaded_file
|
|
|
|
|
|
|
| 121 |
st.rerun()
|
| 122 |
|
| 123 |
|
|
@@ -294,6 +306,22 @@ def main():
|
|
| 294 |
page_title="ASR Evaluation Visualizer", page_icon="🎤", layout="wide"
|
| 295 |
)
|
| 296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 297 |
if not has_api_token:
|
| 298 |
st.warning("No Hugging Face API token found. Audio previews will not work.")
|
| 299 |
|
|
@@ -303,10 +331,15 @@ def main():
|
|
| 303 |
uploaded_file = st.file_uploader(
|
| 304 |
"Upload evaluation results CSV",
|
| 305 |
type=["csv"],
|
| 306 |
-
on_change=
|
| 307 |
key="uploaded_file",
|
| 308 |
)
|
| 309 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 310 |
if uploaded_file is not None:
|
| 311 |
st.session_state.results_file = uploaded_file
|
| 312 |
|
|
|
|
| 37 |
|
| 38 |
if "uploaded_file" not in st.session_state:
|
| 39 |
st.session_state.results_file = None
|
| 40 |
+
if "consumed_query_lb_file" not in st.session_state:
|
| 41 |
+
st.session_state.consumed_query_lb_file = None
|
| 42 |
+
|
| 43 |
|
| 44 |
if "selected_entry_idx" not in st.session_state:
|
| 45 |
st.session_state.selected_entry_idx = 0
|
|
|
|
| 84 |
st.session_state.results_file = None
|
| 85 |
|
| 86 |
|
| 87 |
+
def on_local_file_upload():
|
| 88 |
+
if "lb_result_file" in st.query_params:
|
| 89 |
+
st.query_params.pop("lb_result_file")
|
| 90 |
+
st.session_state.consumed_query_lb_file = None
|
| 91 |
+
on_file_upload()
|
| 92 |
+
|
| 93 |
+
|
| 94 |
@st.cache_data
|
| 95 |
def get_leaderboard_result_csv_paths(root_search_path):
|
| 96 |
fs = HfFileSystem(token=HF_API_TOKEN)
|
|
|
|
| 128 |
|
| 129 |
on_file_upload()
|
| 130 |
st.session_state.results_file = uploaded_file
|
| 131 |
+
st.query_params["lb_result_file"] = selected_file
|
| 132 |
+
st.session_state.consumed_query_lb_file = selected_file
|
| 133 |
st.rerun()
|
| 134 |
|
| 135 |
|
|
|
|
| 306 |
page_title="ASR Evaluation Visualizer", page_icon="🎤", layout="wide"
|
| 307 |
)
|
| 308 |
|
| 309 |
+
# Check for URL parameter for preloading leaderboard results
|
| 310 |
+
lb_result_file_param = st.query_params.get("lb_result_file")
|
| 311 |
+
if (
|
| 312 |
+
lb_result_file_param
|
| 313 |
+
and st.session_state.consumed_query_lb_file != lb_result_file_param
|
| 314 |
+
):
|
| 315 |
+
st.session_state.consumed_query_lb_file = lb_result_file_param
|
| 316 |
+
leaderboard_file_url = huggingface_hub.hf_hub_url(
|
| 317 |
+
repo_id="ivrit-ai/hebrew-transcription-leaderboard",
|
| 318 |
+
subfolder=f"results{Path(lb_result_file_param).parent}",
|
| 319 |
+
filename=Path(lb_result_file_param).name,
|
| 320 |
+
repo_type="space",
|
| 321 |
+
)
|
| 322 |
+
on_file_upload()
|
| 323 |
+
st.session_state.results_file = leaderboard_file_url
|
| 324 |
+
|
| 325 |
if not has_api_token:
|
| 326 |
st.warning("No Hugging Face API token found. Audio previews will not work.")
|
| 327 |
|
|
|
|
| 331 |
uploaded_file = st.file_uploader(
|
| 332 |
"Upload evaluation results CSV",
|
| 333 |
type=["csv"],
|
| 334 |
+
on_change=on_local_file_upload,
|
| 335 |
key="uploaded_file",
|
| 336 |
)
|
| 337 |
|
| 338 |
+
if st.session_state.consumed_query_lb_file is not None:
|
| 339 |
+
st.subheader(
|
| 340 |
+
f"Loaded: {st.session_state.consumed_query_lb_file or uploaded_file}"
|
| 341 |
+
)
|
| 342 |
+
|
| 343 |
if uploaded_file is not None:
|
| 344 |
st.session_state.results_file = uploaded_file
|
| 345 |
|