import gradio as gr from transformers import pipeline classifier = pipeline("zero-shot-classification", model="facebook/bart-large-mnli") def zeroShotClassification(text_input, candidate_labels): labels = [label.strip(' ') for label in candidate_labels.split(',')] output = {} prediction = classifier(text_input, labels) for i in range(len(prediction['labels'])): output[prediction['labels'][i]] = prediction['scores'][i] return output 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="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,Accelerated Assessment,Application/Registration Cancellation-Withdrawal-Terminations,Anorovable Letter/NOC-c,Fast Track Designation Granted,Not Aoorovable Letter I Reiection Letter,Orohan Drug Designation Granted,Other Decision,Post Approval Commitment Letter,Special Protocol Assessment,Refusal to File,Advanced Therapy Granted,Approval,Breakthrough Designation Granted,Breakthrough Designation Revoked,Fast Track Designation Denied,Fast Track Designation Revoked,Inactivation of Application / Registration,Inspection / Warning Letter,Investigational Trial Hold,Investigational Trial Hold Release,Orohan Drug Designation Denied,Orphan Drug Designation Revoked,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,Agency Uodate,GSK Update,Meeting Agenda / Package,Meeting Request,Meeting Minutes / Outcomes,Submission Receipt")], outputs=gr.Label(label="Classification"), examples=examples) demo.launch(share = True)