File size: 1,297 Bytes
84b8a66
88c381a
 
240b689
ac0c206
ec5e298
41cc661
 
ac0c206
88c381a
ac0c206
dc45b48
ac0c206
ec5e298
88c381a
 
ac0c206
 
 
 
 
 
 
ec5e298
ac0c206
0480fd8
ac0c206
88c381a
ac0c206
 
 
 
88c381a
ac0c206
225ca46
88c381a
ac0c206
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from transformers import pipeline
import streamlit as st
import pandas as pd

# Load 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")

# Function to translate and summarize text
def translate_and_summarize(text):
    translated_text = translator(text)[0]['translation_text']
    summary = summarizer(translated_text, max_length=150, min_length=120, do_sample=False)[0]['summary_text']
    return summary

# Streamlit interface
def main():
    st.title("CSV Translator and Summarizer")

    # File uploader
    uploaded_file = st.file_uploader("Choose a CSV file", type="csv")
    if uploaded_file is not None:
        # Read data
        data = pd.read_csv(uploaded_file)

        # Check if 'Description' column exists
        if 'Description' in data.columns and data['Published'] != 'checked':
            # Apply translation and summarization
            data['Summary'] = data['Description'].apply(translate_and_summarize)

            # Display data in a table
            st.write(data[['ID', 'Title', 'Summary']])

        else:
            st.error("Uploaded CSV does not contain 'Description' column.")

if __name__ == "__main__":
    main()