edia_we_es / interfaces /interface_BiasWordExplorer.py
LMartinezEXEX's picture
Init commit
a779273
raw
history blame
3.94 kB
import gradio as gr
import pandas as pd
from tkinter import image_names
from tool_info import TOOL_INFO
from modules.module_logsManager import HuggingFaceDatasetSaver
from modules.module_connection import BiasWordExplorerConnector
from examples.examples import examples1_explorar_sesgo_en_palabras, examples2_explorar_sesgo_en_palabras
# --- Interface ---
def interface(embedding, available_logs, lang="spanish"):
# --- Init logs ---
log_callback = HuggingFaceDatasetSaver(
available_logs=available_logs
)
# --- Init vars ---
connector = BiasWordExplorerConnector(embedding=embedding)
labels = pd.read_json(f"language/{lang}.json")["BiasWordExplorer_interface"]
interface = gr.Blocks()
with interface:
gr.Markdown(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(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(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(labels["plot2SpacesButton"])
with gr.Row():
bias4d = gr.Button(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(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="edia_bias_we_es")
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