Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -397,21 +397,6 @@ def create_interface():
|
|
397 |
|
398 |
return search_results, all_values, all_indices
|
399 |
|
400 |
-
|
401 |
-
|
402 |
-
# # Prepare search results
|
403 |
-
# search_results = []
|
404 |
-
# for doc_id in topk_doc_ids:
|
405 |
-
# metadata = df_metadata[df_metadata['arxiv_id'] == doc_id].iloc[0]
|
406 |
-
# title = metadata['title'].replace('[', '').replace(']', '')
|
407 |
-
# search_results.append([
|
408 |
-
# title,
|
409 |
-
# int(metadata['citation_count']),
|
410 |
-
# int(metadata['year'])
|
411 |
-
# ])
|
412 |
-
|
413 |
-
# return search_results, all_values, all_indices
|
414 |
-
|
415 |
@gr.render(inputs=[input_text, search_results_state, feature_values_state, feature_indices_state, manually_added_features_state, subject])
|
416 |
def show_components(text, search_results, feature_values, feature_indices, manually_added_features, current_subject):
|
417 |
if len(text) == 0:
|
@@ -477,27 +462,56 @@ def create_interface():
|
|
477 |
with gr.Column(scale=1):
|
478 |
update_button = gr.Button("Update Results")
|
479 |
sliders = []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
480 |
for i, (value, index) in enumerate(zip(feature_values, feature_indices)):
|
481 |
feature = next((f for f in subject_data[current_subject]['feature_analysis'] if f['index'] == index), None)
|
482 |
label = f"{feature['label']} ({index})" if feature else f"Feature {index}"
|
483 |
|
|
|
|
|
|
|
|
|
484 |
# Add prefix and change color for manually added features
|
485 |
if index in manually_added_features:
|
486 |
label = f"[Custom] {label}"
|
487 |
-
slider = gr.Slider(minimum=0, maximum=1, step=0.01, value=
|
488 |
else:
|
489 |
-
slider = gr.Slider(minimum=0, maximum=1, step=0.01, value=
|
490 |
|
491 |
sliders.append(slider)
|
492 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
493 |
def on_slider_change(*values):
|
494 |
manually_added_features = values[-1]
|
495 |
slider_values = list(values[:-1])
|
496 |
|
|
|
|
|
|
|
497 |
# Reconstruct feature_indices based on the order of sliders
|
498 |
reconstructed_indices = [int(slider.label.split('(')[-1].split(')')[0]) for slider in sliders]
|
499 |
|
500 |
-
new_results, new_values, new_indices = update_search_results(
|
501 |
return new_results, new_values, new_indices, manually_added_features
|
502 |
|
503 |
update_button.click(
|
|
|
397 |
|
398 |
return search_results, all_values, all_indices
|
399 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
400 |
@gr.render(inputs=[input_text, search_results_state, feature_values_state, feature_indices_state, manually_added_features_state, subject])
|
401 |
def show_components(text, search_results, feature_values, feature_indices, manually_added_features, current_subject):
|
402 |
if len(text) == 0:
|
|
|
462 |
with gr.Column(scale=1):
|
463 |
update_button = gr.Button("Update Results")
|
464 |
sliders = []
|
465 |
+
# for i, (value, index) in enumerate(zip(feature_values, feature_indices)):
|
466 |
+
# feature = next((f for f in subject_data[current_subject]['feature_analysis'] if f['index'] == index), None)
|
467 |
+
# label = f"{feature['label']} ({index})" if feature else f"Feature {index}"
|
468 |
+
|
469 |
+
# # Add prefix and change color for manually added features
|
470 |
+
# if index in manually_added_features:
|
471 |
+
# label = f"[Custom] {label}"
|
472 |
+
# slider = gr.Slider(minimum=0, maximum=1, step=0.01, value=value, label=label, key=f"slider-{index}", elem_id=f"custom-slider-{index}")
|
473 |
+
# else:
|
474 |
+
# slider = gr.Slider(minimum=0, maximum=1, step=0.01, value=value, label=label, key=f"slider-{index}")
|
475 |
+
|
476 |
+
# sliders.append(slider)
|
477 |
for i, (value, index) in enumerate(zip(feature_values, feature_indices)):
|
478 |
feature = next((f for f in subject_data[current_subject]['feature_analysis'] if f['index'] == index), None)
|
479 |
label = f"{feature['label']} ({index})" if feature else f"Feature {index}"
|
480 |
|
481 |
+
# Transform the value to a 0-1 range
|
482 |
+
transformed_value = max(0.01, min(1, value)) # Ensure value is between 0.01 and 1
|
483 |
+
linear_value = (np.log10(transformed_value) + 2) / 2 # Map 0.01-1 to 0-1
|
484 |
+
|
485 |
# Add prefix and change color for manually added features
|
486 |
if index in manually_added_features:
|
487 |
label = f"[Custom] {label}"
|
488 |
+
slider = gr.Slider(minimum=0, maximum=1, step=0.01, value=linear_value, label=label, key=f"slider-{index}", elem_id=f"custom-slider-{index}")
|
489 |
else:
|
490 |
+
slider = gr.Slider(minimum=0, maximum=1, step=0.01, value=linear_value, label=label, key=f"slider-{index}")
|
491 |
|
492 |
sliders.append(slider)
|
493 |
|
494 |
+
# def on_slider_change(*values):
|
495 |
+
# manually_added_features = values[-1]
|
496 |
+
# slider_values = list(values[:-1])
|
497 |
+
|
498 |
+
# # Reconstruct feature_indices based on the order of sliders
|
499 |
+
# reconstructed_indices = [int(slider.label.split('(')[-1].split(')')[0]) for slider in sliders]
|
500 |
+
|
501 |
+
# new_results, new_values, new_indices = update_search_results(slider_values, reconstructed_indices, manually_added_features, current_subject)
|
502 |
+
# return new_results, new_values, new_indices, manually_added_features
|
503 |
+
|
504 |
def on_slider_change(*values):
|
505 |
manually_added_features = values[-1]
|
506 |
slider_values = list(values[:-1])
|
507 |
|
508 |
+
# Transform slider values back to original scale
|
509 |
+
transformed_values = [10 ** ((2 * float(v)) - 2) for v in slider_values]
|
510 |
+
|
511 |
# Reconstruct feature_indices based on the order of sliders
|
512 |
reconstructed_indices = [int(slider.label.split('(')[-1].split(')')[0]) for slider in sliders]
|
513 |
|
514 |
+
new_results, new_values, new_indices = update_search_results(transformed_values, reconstructed_indices, manually_added_features, current_subject)
|
515 |
return new_results, new_values, new_indices, manually_added_features
|
516 |
|
517 |
update_button.click(
|