Spaces:
Sleeping
Sleeping
import gradio as gr | |
import logging | |
# Set up logging | |
logger = logging.getLogger('gradio_app.visualization_handler') | |
def create_visualization_components(): | |
""" | |
Creates all the visualization components used in the analysis tab | |
Returns: | |
list: A list of all gradio components for visualization | |
""" | |
bias_visualizations = gr.Markdown(visible=False) | |
# Pre-create visualization components (initially hidden) | |
visualization_area_visible = gr.Checkbox(value=False, visible=False, label="Visualization Visible") | |
analysis_title = gr.Markdown("## Analysis Results", visible=False) | |
prompt_title = gr.Markdown(visible=False) | |
models_compared = gr.Markdown(visible=False) | |
# Container for model 1 words | |
model1_title = gr.Markdown(visible=False) | |
model1_words = gr.Markdown(visible=False) | |
# Container for model 2 words | |
model2_title = gr.Markdown(visible=False) | |
model2_words = gr.Markdown(visible=False) | |
# Similarity metrics | |
similarity_metrics_title = gr.Markdown("### Similarity Metrics", visible=False) | |
similarity_metrics = gr.Markdown(visible=False) | |
# Status or error message area | |
status_message_visible = gr.Checkbox(value=False, visible=False, label="Status Message Visible") | |
status_message = gr.Markdown(visible=False) | |
# Create bias visualization container (initially hidden) | |
with gr.Column(visible=False) as bias_visualizations: | |
gr.Markdown("### Bias Analysis Visualizations") | |
# This will be populated dynamically | |
# Return all components as a list | |
return [ | |
analysis_results_state := gr.State({}), | |
analysis_output := gr.JSON(visible=False), | |
visualization_area_visible, | |
analysis_title, | |
prompt_title, | |
models_compared, | |
model1_title, | |
model1_words, | |
model2_title, | |
model2_words, | |
similarity_metrics_title, | |
similarity_metrics, | |
status_message_visible, | |
status_message, | |
bias_visualizations | |
] | |
def process_and_visualize_bias_analysis(analysis_results): | |
""" | |
Wrapper for bias visualization function from visualization.bias_visualizer | |
Args: | |
analysis_results (dict): The analysis results | |
Returns: | |
list: Components for bias visualization | |
""" | |
from visualization.bias_visualizer import process_and_visualize_bias_analysis | |
return process_and_visualize_bias_analysis(analysis_results) | |
def process_and_visualize_ngram_analysis(analysis_results): | |
""" | |
Wrapper for n-gram visualization function from visualization.ngram_visualizer | |
Args: | |
analysis_results (dict): The analysis results | |
Returns: | |
list: Components for n-gram visualization | |
""" | |
from visualization.ngram_visualizer import process_and_visualize_ngram_analysis | |
return process_and_visualize_ngram_analysis(analysis_results) | |
def process_and_visualize_topic_analysis(analysis_results): | |
""" | |
Wrapper for topic modeling visualization function from visualization.topic_visualizer | |
Args: | |
analysis_results (dict): The analysis results | |
Returns: | |
list: Components for topic visualization | |
""" | |
from visualization.topic_visualizer import process_and_visualize_topic_analysis | |
return process_and_visualize_topic_analysis(analysis_results) |