Eataly-Songs / app.py
clui's picture
first commit
3bd5021
import streamlit as st
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
#from lyricsgenius import Genius
import os
# Wyb贸r modelu do t艂umaczenia
#model_name = "clui/opus-it-pl-v1" # Model t艂umaczenia z w艂oskiego na polski
model_name = "clui/fine3"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
# Tytu艂 aplikacji
st.title("Neural Notes")
# Ustawienia t艂a
st.markdown(
"""
<style>
body {
background-color: #f0f4f8; /* Kolor t艂a podobny do DeepL */
color: #333333; /* Kolor tekstu */
}
.stButton>button {
background-color: #4CAF50; /* Zielony przycisk */
color: white;
}
</style>
""",
unsafe_allow_html=True
)
# Sekcja Translator
st.subheader("Translator")
st.write("Wprowad藕 tekst piosenki, a model przet艂umaczy go linijka po linijce. Umo偶liwia to 艂atwe zrozumienie tre艣ci utwor贸w w innym j臋zyku.")
# Wprowadzenie tekstu piosenki
input_text = st.text_area("Wprowad藕 tekst, model przet艂umaczy go linijka po linijce:", height=300)
if st.button("T艂umacz"):
if input_text:
# Podzia艂 tekstu na linie
lines = input_text.split('\n')
translated_lines = []
# T艂umaczenie ka偶dej linii
for line in lines:
if line.strip(): # Sprawdzenie, czy linia nie jest pusta
# Tokenizacja
inputs = tokenizer(line, return_tensors="pt", padding=True)
# Generowanie t艂umaczenia
translated_outputs = model.generate(**inputs)
# Dekodowanie przet艂umaczonego tekstu
translated_text = tokenizer.decode(translated_outputs[0], skip_special_tokens=True)
translated_lines.append(translated_text)
else:
translated_lines.append("") # Dodanie pustej linii jako odst臋pu
# Wy艣wietlanie przet艂umaczonych linii w dw贸ch kolumnach
col1, col2 = st.columns(2) # Dwie kolumny
with col1:
st.subheader("Oryginalne linie:")
for line in lines:
st.write(line)
with col2:
st.subheader("Przet艂umaczone linie:")
for line in translated_lines:
st.write(line)
else:
st.warning("Prosz臋 wpisa膰 tekst piosenki.")