|
from transformers import pipeline |
|
import gradio as gr |
|
|
|
classifier = pipeline("zero-shot-classification", model="DeepPavlov/xlm-roberta-large-en-ru-mnli") |
|
|
|
def wrap_classifier(text, labels, template): |
|
labels = labels.split(",") |
|
outputs = classifier(text, labels, hypothesis_template=template) |
|
return outputs["labels"][0] |
|
|
|
gr.Interface( |
|
fn=wrap_classifier, |
|
title="Zero-shot Classification", |
|
inputs=[ |
|
gr.Textbox( |
|
lines=3, |
|
label="Text to classify", |
|
value="Sneaky Credit Card Tactics Keep an eye on your credit card issuers -- they may be about to raise your rates." |
|
), |
|
gr.Textbox( |
|
lines=1, |
|
label="Candidate labels separated with commas (no spaces)", |
|
value="World,Sports,Business,Sci/Tech", |
|
placeholder="World,Sports,Business,Sci/Tech", |
|
), |
|
gr.Textbox(lines=1, label="Template", value="The topic of this text is {}.", placeholder="The topic of this text is {}.") |
|
], |
|
outputs=[ |
|
gr.Label(label="Predicted label") |
|
], |
|
).launch() |