import torch from transformers import AutoModelForSequenceClassification, AutoTokenizer, AutoConfig import numpy as np from scipy.special import softmax import gradio as gr torch.cuda.is_available() model_path = "ltg/norbert3-base_sentence-sentiment" tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True) config = AutoConfig.from_pretrained(model_path, trust_remote_code=True) model = AutoModelForSequenceClassification.from_pretrained(model_path, trust_remote_code=True) def sentiment_analysis(text): encoded_input = tokenizer(text, return_tensors='pt') output = model(**encoded_input) scores_ = output[0][0].detach().numpy() scores_ = softmax(scores_) labels = ['Negativ', 'Positiv', 'Nøytral'] scores = {l: float(s) for (l, s) in zip(labels, scores_)} return scores demo = gr.Interface( theme=gr.themes.Base(), fn=sentiment_analysis, inputs=gr.Textbox(placeholder="Write your text here..."), outputs="label", examples=[ ["Woho, jeg fikk meg ny jobb!"], ["Jeg skal jobbe med løver i den nye jobben min."], ["Oj, en løve spiste den ene armen min.. Snakk om HMS :("], ["På vei til sykehus.. Ønsk meg lykke til.."], ["Supert! De må pokkern meg amputere hele armen.."], ["Våkna opp fra operasjon, fått en robot arm. Im now terminator! Super opplevelse 10 av 10.."] ], title='Sentiment Analysis App', description='This app classifies a positive, neutral, or negative sentiment.' ) demo.launch()