Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import pipeline | |
| pipe = pipeline("zero-shot-classification",model='MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7') | |
| with gr.Blocks() as demo: | |
| txt = gr.Textbox('Input Text', label='Text to classify', interactive=True) | |
| with gr.Row(): | |
| labels = gr.DataFrame(headers=['Labels'], row_count=(2, 'dynamic'), col_count=(1, 'fixed'), | |
| datatype='str', interactive=True, scale=4) | |
| submit = gr.Button('Submit', scale=1) | |
| with gr.Group(): | |
| with gr.Row(): | |
| checkbox = gr.Checkbox(label='Multi-Label Classification', interactive=True, info='Showing the score for more than one label') | |
| dropdown = gr.Dropdown(label='Number of Labels to predict', multiselect=False, value=1, choices=list(range(1,6)), | |
| interactive=False) | |
| result = gr.Label(label='Classification Result', visible=False) | |
| def activate_dropdown(ob): | |
| if not ob: | |
| return gr.Dropdown(interactive=ob, value=1) | |
| return gr.Dropdown(interactive=ob) | |
| def submit_btn(text, df, label_no): | |
| output = pipe(text, list(df['Labels']), multi_label=True) | |
| return gr.Label(visible=True, num_top_classes=int(label_no), | |
| value={i: j for i, j in zip(output['labels'], output['scores'])}) | |
| checkbox.change(activate_dropdown, inputs=[checkbox], outputs=[dropdown]) | |
| submit.click(submit_btn, inputs=[txt, labels, dropdown], outputs=[result]) | |
| demo.launch() |