edia_lmodels_en / interfaces /interface_crowsPairs.py
nanom's picture
Changed logs dataset target
44f418e
raw
history blame
3.82 kB
import gradio as gr
import pandas as pd
from tool_info import TOOL_INFO
from modules.module_logsManager import HuggingFaceDatasetSaver
from modules.module_connection import CrowsPairsExplorerConnector
from examples.examples_en import examples_crows_pairs
def interface(
language_model: str,
available_logs: bool,
lang: str="english"
) -> gr.Blocks:
# --- Init logs ---
log_callback = HuggingFaceDatasetSaver(
available_logs=available_logs,
dataset_name=f"logs_edia_lmodels_{lang}"
)
# --- Init vars ---
connector = CrowsPairsExplorerConnector(
language_model=language_model
)
# --- Load language ---
labels = pd.read_json(
f"language/{lang}.json"
)["CrowsPairs_interface"]
# --- Interface ---
iface = gr.Blocks(
css=".container {max-width: 90%; margin: auto;}"
)
with iface:
with gr.Row():
gr.Markdown(
value=labels["title"]
)
with gr.Row():
with gr.Column():
with gr.Group():
sent0 = gr.Textbox(
label=labels["sent0"],
placeholder=labels["commonPlacholder"]
)
sent2 = gr.Textbox(
label=labels["sent2"],
placeholder=labels["commonPlacholder"]
)
sent4 = gr.Textbox(
label=labels["sent4"],
placeholder=labels["commonPlacholder"]
)
with gr.Column():
with gr.Group():
sent1 = gr.Textbox(
label=labels["sent1"],
placeholder=labels["commonPlacholder"]
)
sent3 = gr.Textbox(
label=labels["sent3"],
placeholder=labels["commonPlacholder"]
)
sent5 = gr.Textbox(
label=labels["sent5"],
placeholder=labels["commonPlacholder"]
)
with gr.Row():
btn = gr.Button(
value=labels["compareButton"]
)
with gr.Row():
out_msj = gr.Markdown(
value=""
)
with gr.Row():
with gr.Group():
gr.Markdown(
value=labels["plot"]
)
dummy = gr.CheckboxGroup(
value="",
show_label=False,
choices=[]
)
out = gr.HTML(
label=""
)
with gr.Row():
examples = gr.Examples(
inputs=[sent0, sent1, sent2, sent3, sent4, sent5],
examples=examples_crows_pairs,
label=labels["examples"]
)
with gr.Row():
gr.Markdown(
value=TOOL_INFO
)
btn.click(
fn=connector.compare_sentences,
inputs=[sent0, sent1, sent2, sent3, sent4, sent5],
outputs=[out_msj, out, dummy]
)
# --- Logs ---
save_field = [sent0, sent1, sent2, sent3, sent4, sent5]
log_callback.setup(
components=save_field,
flagging_dir=f"logs_crows_pairs"
)
btn.click(
fn=lambda *args: log_callback.flag(
flag_data=args,
flag_option="crows_pairs",
username="vialibre"
),
inputs=save_field,
outputs=None,
preprocess=False
)
return iface