tasks / app.py
Pavani2704's picture
Update app.py
dc13db1 verified
import streamlit as st
from transformers import pipeline
from PIL import Image
import requests
from io import BytesIO
# Load models for different tasks
summarizer = pipeline("summarization", model="google/pegasus-xsum")
translator = pipeline("translation_en_to_fr")
emotion_detector = pipeline("text-classification", model="j-hartmann/emotion-english-distilroberta-base")
# Note: Ensure you have the correct pipeline and model for image generation
st.title("NLP and Image Processing App")
# Sidebar options
option = st.sidebar.selectbox(
"Choose a task",
("Summarization", "Translation", "Emotion Detection", "Image Generation")
)
# Summarization
if option == "Summarization":
st.header("Text Summarization")
text = st.text_area("Enter text to summarize")
if st.button("Summarize"):
if text:
summary = summarizer(text)[0]["summary_text"]
st.write("Summary:", summary)
else:
st.write("Please enter text to summarize.")
# Translation
elif option == "Translation":
st.header("Language Translation (English to French)")
text = st.text_area("Enter text to translate")
if st.button("Translate"):
if text:
translation = translator(text)[0]["translation_text"]
st.write("Translation:", translation)
else:
st.write("Please enter text to translate.")
# Emotion Detection
elif option == "Emotion Detection":
st.header("Emotion Detection")
text = st.text_area("Enter text to detect emotion")
if st.button("Detect Emotion"):
if text:
emotions = emotion_detector(text)
for emotion in emotions:
st.write(f"Label: {emotion['label']}, Score: {emotion['score']}")
else:
st.write("Please enter text to detect emotion.")
# To run the app, use `streamlit run app.py` in your terminal