from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline import torch import pickle import streamlit as st device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") # model_name = "MoritzLaurer/mDeBERTa-v3-base-mnli-xnli" # tokenizer = AutoTokenizer.from_pretrained(model_name) # model = AutoModelForSequenceClassification.from_pretrained(model_name) classifier = pipeline("zero-shot-classification", model="MoritzLaurer/mDeBERTa-v3-base-mnli-xnli") # with open('chapter_titles.pkl', 'rb') as file: # titles_astiko = pickle.load(file) # labels1 = ["κληρονομικό", "ακίνητα", "διαζύγιο"] # # labels2 = ["αποδοχή κληρονομιάς", "αποποίηση", "διαθήκη"] # # labels3 = ["μίσθωση", "κυριότητα", "έξωση", "απλήρωτα νοίκια"] # titles_astiko = ["γάμος", "αλλοδαπός", "φορολογία", "κληρονομικά", "στέγη", "οικογενειακό", "εμπορικό","κλοπή","απάτη"] # Load dictionary from the file using pickle with open('my_dict.pickle', 'rb') as file: dictionary = pickle.load(file) def classify(text,labels): output = classifier(text, labels, multi_label=False) return output text = st.text_input('Enter some text:') # Input field for new text if text: labels = list(dictionary) output = classify(text,labels) output = output["labels"][0] labels = list(dictionary[output]) output2 = classify(text,labels) output2 = output2["labels"][0] answer = dictionary[output][output2] st.text(output) st.text(output2) st.text(answer)