| import gradio as gr |
| from transformers import pipeline |
|
|
| |
| classifier = pipeline("zero-shot-classification", model="facebook/bart-large-mnli") |
|
|
| |
| def classify(text, labels): |
| labels = [label.strip() for label in labels.split(",") if label.strip()] |
| if not labels: |
| return {"Error": "กรุณาใส่หมวดหมู่อย่างน้อยหนึ่งรายการ"} |
| result = classifier(text, candidate_labels=labels) |
| return dict(zip(result["labels"], [round(score, 3) for score in result["scores"]])) |
|
|
| |
| demo = gr.Interface( |
| fn=classify, |
| inputs=[ |
| gr.Textbox(label="ข้อความ", placeholder="ฉันสนใจด้านการเขียนโปรแกรมและ AI", lines=2), |
| gr.Textbox(label="หมวดหมู่ (คั่นด้วย ,)", placeholder="วิทยาการคอมพิวเตอร์, ศิลปะ, วรรณกรรม"), |
| ], |
| outputs=gr.Label(label="การจำแนกหมวดหมู่"), |
| title="Zero-Shot Text Classifier", |
| description="ใส่ข้อความที่คุณสนใจ และให้โมเดลประเมินว่าคล้ายกับหมวดหมู่ใดมากที่สุด โดยใช้ BART-MNLI" |
| ) |
|
|
| demo.launch() |
|
|