Spaces:
Configuration error
Configuration error
| import gradio as gr | |
| import pandas as pd | |
| import matplotlib.pyplot as plt | |
| from modules.module_connection import WordExplorerConnector | |
| from modules.module_logsManager import HuggingFaceDatasetSaver | |
| from tool_info import TOOL_INFO | |
| plt.rcParams.update({'font.size': 14}) | |
| def interface( | |
| embedding, # Class Embedding instance | |
| available_logs: bool, | |
| max_neighbors: int, | |
| lang: str="es", | |
| ) -> gr.Blocks: | |
| # -- Load examples --- | |
| if lang == 'es': | |
| from examples.examples_es import examples_explorar_relaciones_entre_palabras | |
| elif lang == 'en': | |
| from examples.examples_en import examples_explorar_relaciones_entre_palabras | |
| # --- Init logs --- | |
| log_callback = HuggingFaceDatasetSaver( | |
| available_logs=available_logs, | |
| dataset_name=f"logs_edia_we_{lang}" | |
| ) | |
| # --- Init vars --- | |
| connector = WordExplorerConnector( | |
| embedding=embedding | |
| ) | |
| # --- Load language --- | |
| labels = pd.read_json( | |
| f"language/{lang}.json" | |
| )["WordExplorer_interface"] | |
| # --- Interface --- | |
| interface = gr.Blocks() | |
| with interface: | |
| gr.Markdown( | |
| value=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( | |
| value=labels["plotNeighbours"]["title"] | |
| ) | |
| n_neighbors = gr.Slider( | |
| minimum=0, | |
| maximum=max_neighbors, | |
| 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=25, | |
| label=labels["options"]["font-size"] | |
| ) | |
| with gr.Row(): | |
| btn_plot = gr.Button( | |
| value=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( | |
| value=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="logs_word_explorer" | |
| ) | |
| btn_plot.click( | |
| fn=lambda *args: log_callback.flag( | |
| flag_data=args, | |
| flag_option="word_explorer", | |
| username="vialibre", | |
| ), | |
| inputs=save_field, | |
| outputs=None, | |
| preprocess=False | |
| ) | |
| return interface |