| 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() |