|
import gradio as gr |
|
from transformers import AutoTokenizer, AutoModelForSequenceClassification |
|
import torch |
|
device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") |
|
|
|
model_name = "MoritzLaurer/DeBERTa-v3-base-mnli-fever-anli" |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
model = AutoModelForSequenceClassification.from_pretrained(model_name) |
|
|
|
premise = "" |
|
hypothesis = "" |
|
|
|
def zeroShotClassification(text_input, candidate_labels, hypothesis): |
|
input = tokenizer(text_input, hypothesis, truncation=True, return_tensors="pt") |
|
output = model(input["input_ids"].to(device)) |
|
prediction = torch.softmax(output["logits"][0], -1).tolist() |
|
labels = [label.strip(' ') for label in candidate_labels.split(',')] |
|
prediction = {name: round(float(pred) * 100, 1) for pred, name in zip(prediction, labels)} |
|
return prediction |
|
|
|
examples = [ |
|
["Administrative", "Agency Fees and Invoices,Other Acknowledgement,Product Name Designation,Annlication/RegistrationJProcedure Number Assigned,Registration Ownership Transferred,Access to Information I Public Disclosure,First Sale Notification,Lot Release,Letter of Authorization/Access,Clinical Trial Site Information"], |
|
["Agency Decisions", "Other Decision,Approval,Breakthrough Designation Revoked,Orohan Drug Designation Denied,Not Aoorovable Letter I Reiection Letter,Investigational Trial Hold,Accelerated Assessment,Application/Registration Cancellation-Withdrawal-Terminations,Anorovable Letter/NOC-c,Fast Track Designation Granted,Orohan Drug Designation Granted,Post Approval Commitment Letter,Special Protocol Assessment,Refusal to File,Advanced Therapy Granted,Breakthrough Designation Granted,Fast Track Designation Denied,Fast Track Designation Revoked,Inactivation of Application / Registration,Inspection / Warning Letter,Investigational Trial Hold Release,Orphan Drug Designation Revoked"], |
|
["Content Review", "Response from Agency,Dear Health Care Professional Letter,Acceptance / Validation / Submission Filed,Agencv Information/Request/Question/Comment,Extension Request Granted,GSK Inquiry,GSK Response to Information/Request/Question/Comment,Variation/Supplement Request,Translation"], |
|
["General Correspondence","Agency Update,GSK Update"], |
|
["Meeting Details", "Meeting Agenda / Package,Meeting Request,Meeting Minutes / Outcomes"], |
|
["Submission Receipt", "Submission Receipt"] |
|
] |
|
|
|
demo = gr.Interface(fn=zeroShotClassification, inputs=[gr.Textbox(label="Input"), gr.Textbox(label="Candidate Labels", value="Meeting Minutes / Outcomes,Submission Receipt"), gr.Textbox(label="Hypothesys", value="Meeting Minutes / Outcomes,Submission Receipt")], outputs=gr.Label(label="Classification"), examples=examples) |
|
demo.launch(); |
|
|