import streamlit as st import transformers from transformers import pipeline import PIL from PIL import Image import requests from transformers import AutoProcessor, AutoModelForZeroShotImageClassification pipe = pipeline("summarization", model="google/pegasus-xsum") agepipe = pipeline("image-classification", model="dima806/facial_age_image_detection") imgpipe = pipeline("zero-shot-image-classification", model="openai/clip-vit-base-patch32") emopipe = pipeline("text-classification", model="michellejieli/emotion_text_classifier") st.title("NLP APP") option = st.sidebar.selectbox( "Choose a task", ("Summarization", "Age Detection", "Emotion Detection", "Image Classification") ) if option == "Summarization": st.title("Text Summarization") text = st.text_area("Enter text to summarize") if st.button("Summarize"): if text: st.write("Summary:", pipe(text)[0]["summary_text"]) else: st.write("Please enter text to summarize.") elif option == "Age Detection": st.title("Welcome to age detection") uploaded_files = st.file_uploader("Choose a image file",type="jpg") if uploaded_files is not None: Image=Image.open(uploaded_files) st.write("Detected age is ",agepipe(Image)[0]["label"]) elif option == "Image Classification": st.title("Welcome to object detection") uploaded_file = st.file_uploader("Choose an image file", type=["jpg", "jpeg", "png"]) text = st.text_area("Enter possible class names (comma-separated)") if st.button("Submit"): if uploaded_file is not None and text: candidate_labels = [t.strip() for t in text.split(',')] image = Image.open(uploaded_file) st.image(image, caption="Uploaded Image", use_column_width=True) classification_result = imgpipe(image, candidate_labels=candidate_labels) for result in classification_result: st.write(f"Label: {result['label']}, Score: {result['score']}") else: st.write("Please upload an image file and enter class names.") elif option == "Emotion Detection": st.title("Detect your emotion") text=st.text_area("Enter your text") if st.button("Submit"): if text: emotion=emopipe(text)[0]["label"] if emotion == "sadness": st.write("Emotion : ",emotion,"😢") elif emotion == "joy": st.write("Emotion : ",emotion,"😃") elif emotion == "fear": st.write("Emotion : ",emotion,"😨") elif emotion == "anger": st.write("Emotion : ",emotion,"😡") elif emotion == "neutral": st.write("Emotion : ",emotion,"😐") elif emotion == "disgust": st.write("Emotion : ",emotion,"🤢") elif emotion == "surprise": st.write("Emotion : ",emotion,"😲") else: st.write("Please enter text.") else: st.title("None")