youtube / app.py
Fralet's picture
Update app.py
88c381a verified
raw
history blame
1.39 kB
import streamlit as st
import pandas as pd
from transformers import pipeline
# Initialize the translation and summarization pipelines
translator = pipeline("translation_ru_to_en", model="Helsinki-NLP/opus-mt-ru-en")
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
# Load your CSV file
@st.cache
def load_data(filepath):
return pd.read_csv(filepath)
# Translate and summarize text
def translate_and_summarize(text):
try:
# Translate the text
translated_text = translator(text)[0]['translation_text']
# Summarize the translated text
summary = summarizer(translated_text, max_length=140, min_length=110, do_sample=False)[0]['summary_text']
return summary
except Exception as e:
return f"Error in processing: {str(e)}"
# Streamlit interface
def main():
st.title('Text Summarization Tool')
file_path = st.text_input('Enter the path to your CSV file:', '')
if file_path:
data = load_data(file_path)
if 'Description' in data.columns:
st.write("Summaries:")
# Create a new column for summaries
data['Summary'] = data['Description'].apply(translate_and_summarize)
st.table(data[['ID', 'Title', 'Summary']])
else:
st.error("The CSV file does not have a 'Description' column.")
if __name__ == "__main__":
main()