Spaces:
Runtime error
Runtime error
from transformers import pipeline | |
import gradio as gr | |
import pandas as pd | |
def coding(model, text, codetext): | |
classifier = pipeline("zero-shot-classification", model=model) | |
codelist = codetext.split(';') | |
output = classifier(text, codelist, multi_label=True) | |
# keys = output.labels | |
# values = output.scores | |
keys = output['labels'] | |
values = output['scores'] | |
my_dict = {k: v for k, v in zip(keys, values)} | |
return [my_dict, output] | |
def upload_code_list(file): | |
df = pd.read_excel(file.name, sheet_name='code') | |
joined_data = ';'.join(df['label'].astype(str)) | |
return joined_data | |
css = """ | |
h2.svelte-1pq4gst{display:none} | |
""" | |
demo = gr.Blocks(css=css) | |
with demo: | |
gr.Markdown( | |
""" | |
# NuanceTree | |
# Coding Test Program | |
""" | |
) | |
with gr.Row(): | |
with gr.Column(): | |
select_model = gr.Radio( | |
[ | |
"facebook/bart-large-mnli", | |
"MoritzLaurer/multilingual-MiniLMv2-L6-mnli-xnli", | |
"MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7", | |
"MoritzLaurer/mDeBERTa-v3-base-mnli-xnli", | |
"MoritzLaurer/deberta-v3-large-zeroshot-v2.0", | |
], | |
value="MoritzLaurer/multilingual-MiniLMv2-L6-mnli-xnli", | |
label="Model" | |
) | |
comment_text = gr.TextArea( | |
label='Comment', | |
value='感覺性格溫和,特別係亞洲人的肌膚,不足之處就是感覺很少有優惠,價錢都比較貴' | |
) | |
codelist_text = gr.Textbox( | |
label='Code list (colon-separated)', | |
value='非常好;很好;好滿意;價錢合理;實惠' | |
) | |
with gr.Row(): | |
clear_codelist_btn = gr.ClearButton(value="Clear Code List") | |
clear_codelist_btn.click(lambda: None, outputs=[codelist_text]) | |
upload_btn = gr.UploadButton( | |
label="Upload", | |
variant='primary' | |
) | |
upload_btn.upload(upload_code_list, upload_btn, codelist_text) | |
run_btn = gr.Button( | |
value="Submit", | |
variant='primary' | |
) | |
with gr.Column(): | |
result_label = gr.Label(show_label=False) | |
result_text = gr.JSON() | |
run_btn.click(coding, [select_model, comment_text, codelist_text], [result_label, result_text], scroll_to_output=True) | |
if __name__ == "__main__": | |
demo.launch() | |