Spaces:
Build error
Build error
| import gradio as gr | |
| import torch | |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification | |
| import torch.nn.functional as F | |
| genres = ['Kinh tế', 'Giáo dục', 'Xe', 'Sức khoẻ', 'Công nghệ - Game'] | |
| tokenizer = AutoTokenizer.from_pretrained("mob2711/phoBERT_finetune_news_classification") | |
| model = AutoModelForSequenceClassification.from_pretrained("mob2711/phoBERT_finetune_news_classification") | |
| def tokenize(text): | |
| encoded_text = tokenizer(text, padding=True, truncation=True, return_tensors="pt") | |
| return encoded_text | |
| def predict_proba(text_data): | |
| encoded_data = tokenize(text_data) | |
| with torch.no_grad(): | |
| outputs = model(**encoded_data) | |
| logits = outputs.logits | |
| probabilities = F.softmax(logits, dim=-1)[0] | |
| label_probs = {genres[id]: prob for id, prob in enumerate(probabilities)} | |
| return label_probs | |
| # Interface | |
| input_text = gr.Textbox(label="Enter the title") | |
| output_text = gr.Label(label="Predicted Probabilities") | |
| demo = gr.Interface( | |
| fn=predict_proba, | |
| inputs=input_text, | |
| outputs=output_text, | |
| title="Newspaper Title Classifier", | |
| examples=["Chủ tịch HĐQT Trường quốc tế AISVN đề xuất hỗ trợ 125 tỉ đồng", | |
| "Chuyên gia tài chính Nguyễn Trí Hiếu bị 'hack' gần 500 triệu đồng, ngân hàng im lặng suốt 3 tháng?", | |
| "Kon Tum chi hỗ trợ 28.000 liều vắc xin tiêm phòng bệnh dại cho chó, mèo", | |
| "Microsoft hợp tác OpenAI phát triển siêu máy tính AI giá hơn 100 tỉ USD", | |
| "Triệu hồi 170.000 xe điện Hyundai, Kia bị lỗi mất điện", | |
| ] | |
| ) | |
| demo.launch() |