Spaces:
Configuration error
Configuration error
File size: 4,754 Bytes
a779273 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
import gradio as gr
import pandas as pd
import matplotlib.pyplot as plt
from tool_info import TOOL_INFO
from modules.module_connection import WordExplorerConnector
from modules.module_logsManager import HuggingFaceDatasetSaver
from examples.examples import examples_explorar_relaciones_entre_palabras
plt.rcParams.update({'font.size': 14})
def interface(embedding, available_logs, lang="spanish"):
# --- Init logs ---
log_callback = HuggingFaceDatasetSaver(
available_logs=available_logs
)
# --- Init vars ---
connector = WordExplorerConnector(embedding=embedding)
labels = pd.read_json(f"language/{lang}.json")["WordExplorer_interface"]
# --- Interface ---
interface = gr.Blocks()
with interface:
gr.Markdown(labels["title"])
with gr.Row():
with gr.Column(scale=3):
with gr.Row(equal_height=True):
with gr.Column(scale=5):
diagnose_list = gr.Textbox(lines=2, label=labels["wordListToDiagnose"])
with gr.Column(scale=1,min_width=10):
color_wordlist = gr.ColorPicker(label="",value='#000000',)
with gr.Row():
with gr.Column(scale=5):
wordlist_1 = gr.Textbox(lines=2, label=labels["wordList1"])
with gr.Column(scale=1,min_width=10):
color_wordlist_1 = gr.ColorPicker(label="",value='#1f78b4')
with gr.Row():
with gr.Column(scale=5):
wordlist_2 = gr.Textbox(lines=2, label=labels["wordList2"])
with gr.Column(scale=1,min_width=10):
color_wordlist_2 = gr.ColorPicker(label="",value='#33a02c')
with gr.Row():
with gr.Column(scale=5):
wordlist_3 = gr.Textbox(lines=2, label=labels["wordList3"])
with gr.Column(scale=1,min_width=10):
color_wordlist_3 = gr.ColorPicker(label="",value='#e31a1c')
with gr.Row():
with gr.Column(scale=5):
wordlist_4 = gr.Textbox(lines=2, label=labels["wordList4"])
with gr.Column(scale=1,min_width=10):
color_wordlist_4 = gr.ColorPicker(label="",value='#6a3d9a')
with gr.Column(scale=4):
with gr.Row():
with gr.Row():
gr.Markdown(labels["plotNeighbours"]["title"])
n_neighbors = gr.Slider(minimum=0,maximum=100,step=1,label=labels["plotNeighbours"]["quantity"])
with gr.Row():
alpha = gr.Slider(minimum=0.1,maximum=0.9, value=0.3, step=0.1,label=labels["options"]["transparency"])
fontsize=gr.Number(value=18, label=labels["options"]["font-size"])
with gr.Row():
btn_plot = gr.Button(labels["plot_button"])
with gr.Row():
err_msg = gr.Markdown(label="", visible=True)
with gr.Row():
word_proyections = gr.Plot(label="", show_label=False)
with gr.Row():
gr.Examples(
fn=connector.plot_proyection_2d,
inputs=[diagnose_list,wordlist_1,wordlist_2,wordlist_3,wordlist_4],
outputs=[word_proyections,err_msg],
examples=examples_explorar_relaciones_entre_palabras,
label=labels["examples"]
)
with gr.Row():
gr.Markdown(TOOL_INFO)
btn_plot.click(
fn=connector.plot_proyection_2d,
inputs=[
diagnose_list,
wordlist_1,
wordlist_2,
wordlist_3,
wordlist_4,
color_wordlist,
color_wordlist_1,
color_wordlist_2,
color_wordlist_3,
color_wordlist_4,
alpha,
fontsize,
n_neighbors
],
outputs=[word_proyections,err_msg]
)
# --- Logs ---
save_field = [diagnose_list,wordlist_1,wordlist_2,wordlist_3,wordlist_4]
log_callback.setup(components=save_field, flagging_dir="edia_we_es")
btn_plot.click(
fn=lambda *args: log_callback.flag(
flag_data=args,
flag_option="explorar_palabras",
username="vialibre",
),
inputs=save_field,
outputs=None,
preprocess=False
)
return interface |