SMLB / app.py
Gent (PG/R - Comp Sci & Elec Eng)
fix err
0013101
import gradio as gr
import pandas as pd
from nltk.corpus import wordnet as wn
import nltk
nltk.download('wordnet')
df_tree = pd.read_csv("data/20k_tree.csv")
df_metrics = pd.read_csv("data/benchmark.csv")
def query_interface(model, synset):
if model == "*":
return df_metrics.query(f"synset =='{synset}'")
else:
return df_metrics.query(f"synset =='{synset}' and model == '{model}'")
def find_synsets(lemma):
synsets = wn.synsets(lemma)
valid_set = set(df_metrics.synset.values)
synset_names = [s.name() for s in synsets if s.name() in valid_set]
return df_tree.query(f"synset in @synset_names", engine='python')
with gr.Blocks() as app:
gr.Label("WordNet Explorer", style="h1")
lemma = gr.Textbox(label="find synsets")
gr.Button("Search").click(find_synsets, lemma, outputs=[gr.DataFrame()])
gr.Label("Benchmark Explorer", style="h1")
model_list = list(set(df_metrics.model.values.tolist()))
gr.TextArea(f"This is a simple interface to query the benchmark results. You can use * as a wildcard for the model name. The available models are {', '.join(model_list)}.", lines=2)
with gr.Row():
# model = gr.inputs.Dropdown(label="model",choices=list(set(df_metrics.model.values.tolist())))
model = gr.Textbox(label="model")
synset = gr.inputs.Textbox(label="synset")
btn = gr.Button("Query", label="query")
btn.click(query_interface, inputs=[model, synset], outputs=[gr.DataFrame()])
app.launch()