Spaces:
Runtime error
Runtime error
import gradio as gr | |
import pandas as pd | |
from modules.module_logsManager import HuggingFaceDatasetSaver | |
from modules.module_connection import BiasWordExplorerConnector | |
from tool_info import TOOL_INFO | |
# --- Interface --- | |
def interface( | |
embedding, # Class Embedding instance | |
available_logs: bool, | |
lang: str="es" | |
) -> gr.Blocks: | |
# -- Load examples --- | |
if lang == 'es': | |
from examples.examples_es import examples1_explorar_sesgo_en_palabras, examples2_explorar_sesgo_en_palabras | |
elif lang == 'en': | |
from examples.examples_en import examples1_explorar_sesgo_en_palabras, examples2_explorar_sesgo_en_palabras | |
# --- Init logs --- | |
log_callback = HuggingFaceDatasetSaver( | |
available_logs=available_logs, | |
dataset_name=f"logs_edia_we_{lang}" | |
) | |
# --- Init vars --- | |
connector = BiasWordExplorerConnector( | |
embedding=embedding | |
) | |
# --- Load language --- | |
labels = pd.read_json( | |
f"language/{lang}.json" | |
)["BiasWordExplorer_interface"] | |
# --- Interface --- | |
interface = gr.Blocks() | |
with interface: | |
gr.Markdown( | |
value=labels["step1"] | |
) | |
with gr.Row(): | |
with gr.Column(): | |
with gr.Row(): | |
diagnose_list = gr.Textbox( | |
lines=2, | |
label=labels["wordListToDiagnose"] | |
) | |
with gr.Row(): | |
gr.Markdown( | |
value=labels["step2&2Spaces"] | |
) | |
with gr.Row(): | |
wordlist_1 = gr.Textbox( | |
lines=2, | |
label=labels["wordList1"] | |
) | |
wordlist_2 = gr.Textbox( | |
lines=2, | |
label=labels["wordList2"] | |
) | |
with gr.Row(): | |
gr.Markdown( | |
value=labels["step2&4Spaces"] | |
) | |
with gr.Row(): | |
wordlist_3 = gr.Textbox( | |
lines=2, | |
label=labels["wordList3"] | |
) | |
wordlist_4 = gr.Textbox( | |
lines=2, | |
label=labels["wordList4"] | |
) | |
with gr.Column(): | |
with gr.Row(): | |
bias2d = gr.Button( | |
value=labels["plot2SpacesButton"] | |
) | |
with gr.Row(): | |
bias4d = gr.Button( | |
value=labels["plot4SpacesButton"] | |
) | |
with gr.Row(): | |
err_msg = gr.Markdown( | |
label="", | |
visible=True | |
) | |
with gr.Row(): | |
bias_plot = gr.Plot( | |
label="", | |
show_label=False | |
) | |
with gr.Row(): | |
examples = gr.Examples( | |
fn=connector.calculate_bias_2d, | |
inputs=[wordlist_1, wordlist_2, diagnose_list], | |
outputs=[bias_plot, err_msg], | |
examples=examples1_explorar_sesgo_en_palabras, | |
label=labels["examples2Spaces"] | |
) | |
with gr.Row(): | |
examples = gr.Examples( | |
fn=connector.calculate_bias_4d, | |
inputs=[wordlist_1, wordlist_2,wordlist_3, wordlist_4, diagnose_list], | |
outputs=[ | |
bias_plot, err_msg | |
], | |
examples=examples2_explorar_sesgo_en_palabras, | |
label=labels["examples4Spaces"] | |
) | |
with gr.Row(): | |
gr.Markdown( | |
value=TOOL_INFO | |
) | |
bias2d.click( | |
fn=connector.calculate_bias_2d, | |
inputs=[wordlist_1, wordlist_2, diagnose_list], | |
outputs=[bias_plot, err_msg] | |
) | |
bias4d.click( | |
fn=connector.calculate_bias_4d, | |
inputs=[wordlist_1, wordlist_2, | |
wordlist_3, wordlist_4, diagnose_list], | |
outputs=[bias_plot, err_msg] | |
) | |
# --- Logs --- | |
save_field = [wordlist_1, wordlist_2,wordlist_3, wordlist_4, diagnose_list] | |
log_callback.setup( | |
components=save_field, | |
flagging_dir="logs_word_bias" | |
) | |
bias2d.click( | |
fn=lambda *args: log_callback.flag( | |
flag_data=args, | |
flag_option="plot_2d", | |
username="vialibre" | |
), | |
inputs=save_field, | |
outputs=None, | |
preprocess=False | |
) | |
bias4d.click( | |
fn=lambda *args: log_callback.flag( | |
flag_data=args, | |
flag_option="plot_4d", | |
username="vialibre" | |
), | |
inputs=save_field, | |
outputs=None, | |
preprocess=False | |
) | |
return interface | |