Spaces:
Runtime error
Runtime error
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") | |
from translate import Translator | |
def init_session_state(): | |
if 'history' not in st.session_state: | |
st.session_state.history = "" | |
# Initialize session state | |
init_session_state() | |
# pipe = pipeline("text2text-generation", model="google/flan-t5-base") | |
pipe = pipeline("text-generation", model="GeneZC/MiniChat-1.5-3B") | |
# pipe = pipeline("text-generation", model="mistralai/Mistral-7B-Instruct-v0.2") | |
# 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] | |
# Create a translator object with specified source and target languages | |
translator = Translator(from_lang='el', to_lang='en') | |
translator2 = Translator(from_lang='en', to_lang='el') | |
st.text("H ερώτηση σας σχετίζεται με " + output+ " δίκαιο") | |
# Translate the text from Greek to English | |
answer = translator.translate(answer) | |
text = translator.translate(text) | |
st.text("Πιο συγκεκριμένα σχετίζεται με " + output2) | |
# text_to_translate2 = text[499:999] | |
# translated_text2 = translator.translate(text_to_translate2) | |
st.session_state.history += "Based on this info only:" + answer +" ,answer this question, by reasoning step by step:" + text # Add new text to history | |
out = pipe(st.session_state.history, max_new_tokens=256) # Generate output based on history | |
# st.text(st.session_state.history) | |
translated_text2 = translator2.translate(out[0]['generated_text']) | |
st.text(translated_text2) | |
# with st.expander("View Full Output", expanded=False): | |
# st.write(translated_text2, allow_output_mutation=True) | |
# st.text(translated_text2) | |
# st.text("History: " + st.session_state.history) | |
# st.text(output) | |
# st.text(output2) | |
# st.text(answer) |