annotate-mnlp / app.py
cvargas
grado new btnssssssss
35e149b
import gradio as gr
import pandas as pd
import json
keys = ['review', 'domain', 'label']
keys_types = ["str", "str", "number"]
path = 'data/'
default_json = path + 'hola_0.jsonl'
df_test = pd.DataFrame({'review': 'hola', 'domain': 'house', 'label': 1}, index=[0])
data, df = None, None
def process_jsonl(temp_file):
json_file = default_json
if isinstance(temp_file, str):
json_file = temp_file
df = pd.read_json(json_file, lines=True)
print(df[:9], df.shape)
return df
with gr.Blocks() as demo:
upload_button = gr.UploadButton(
label="upload jsonl",
file_types = ['.jsonl', '.json'],
# live=True,
file_count = "single"
)
table = gr.Dataframe(
headers=keys,
datatype=keys_types,
col_count=(3, "fixed"),
row_count=(6, 'fixed'),
# value=process_jsonl(default_json),
type="pandas",
visible=True,
interactive=False
)
upload_button.upload(
fn=process_jsonl,
inputs=upload_button,
outputs=table,
api_name="upload_jsonl"
)
dff = df[0] if df else df_test
r = gr.TextArea(label="review", type='text', show_label=True, value=dff.review)
d = gr.Textbox(label="domain", type='text', show_label=True, value=dff.domain)
with gr.Row():
true_btn = gr.Button("True")
false_btn = gr.Button("False")
l = gr.Textbox(label="label")
def ann(num1, num2):
return num1 + num2
true_btn.click(ann, inputs=[r, d], outputs=l)
false_btn.click(ann, inputs=[r, d], outputs=l)
# def sub(data):
# return data[r] - data[d]
# false_btn.click(sub, inputs={r, d}, outputs=l)
# def annotate_label(df: pd.DataFrame, column: str = 'label') -> int:
# df[column] = inputt
# return df[column]
#
# iface = gr.Interface(
# fn=annotate_label, # the function to call
# inputs=[gr.inputs.Dataframe(headers=df.columns.tolist(), datatype=df.dtypes.tolist()), gr.inputs.Textbox()],
# # the inputs
# outputs="number" # the output type
# )
demo.launch(debug=True)