Spaces:
Sleeping
Sleeping
| import torch | |
| from transformers import BertTokenizer, BertForSequenceClassification | |
| import gradio as gr | |
| # Load model from local folder | |
| model = BertForSequenceClassification.from_pretrained("bert-expense-classifier/bert-expense-classifier", trust_remote_code=True) | |
| tokenizer = BertTokenizer.from_pretrained("bert-expense-classifier/bert-expense-classifier") | |
| model.eval() | |
| label_map = {0: "statement", 1: "query"} | |
| def classify_sentence(text): | |
| inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=128) | |
| with torch.no_grad(): | |
| outputs = model(**inputs) | |
| predicted_class = torch.argmax(outputs.logits, dim=1).item() | |
| return label_map[predicted_class] | |
| interface = gr.Interface( | |
| fn=classify_sentence, | |
| inputs=gr.Textbox(lines=2, placeholder="Enter a sentence..."), | |
| outputs=gr.Textbox(label="Prediction"), | |
| title="Expense Sentence Classifier", | |
| description="Classifies whether a sentence is a user question or a statement for an expense tracker." | |
| ) | |
| if __name__ == "__main__": | |
| interface.launch() | |