import streamlit as st from transformers import AutoTokenizer, AutoModelForSequenceClassification from transformers import pipeline # Set page config as the very first Streamlit command st.set_page_config(page_title="Emotion Detection and Well-Being Suggestions", layout="wide") # Load pre-trained model and tokenizer @st.cache_resource def load_model(): tokenizer = AutoTokenizer.from_pretrained("j-hartmann/emotion-english-distilroberta-base") model = AutoModelForSequenceClassification.from_pretrained("j-hartmann/emotion-english-distilroberta-base") return tokenizer, model tokenizer, model = load_model() # Add an aesthetic background with a soothing gradient for a calming effect and black text st.markdown( """ """, unsafe_allow_html=True, ) # Display header st.title("Emotion Detection and Well-Being Suggestions") # User input for text (emotion detection) user_input = st.text_area("How are you feeling today?", "Enter your thoughts here...") # Model prediction if user_input: pipe = pipeline("text-classification", model=model, tokenizer=tokenizer) result = pipe(user_input) # Extracting the emotion from the model's result emotion = result[0]['label'] # Display emotion st.write(f"**Emotion Detected:** {emotion}") # Provide suggestions based on the detected emotion if emotion == 'joy': st.write("You're feeling happy! Keep up the great mood!") st.write("Useful Resources:") st.markdown("[Relaxation Techniques](https://www.helpguide.org/mental-health/meditation/mindful-breathing-meditation)") st.write("[Dealing with Stress](https://www.helpguide.org/mental-health/anxiety/tips-for-dealing-with-anxiety)") st.write("[Emotional Wellness Toolkit](https://www.nih.gov/health-information/emotional-wellness-toolkit)") st.write("Relaxation Videos:") st.markdown("[Watch on YouTube](https://youtu.be/m1vaUGtyo-A)") elif emotion == 'anger': st.write("You're feeling angry. It's okay to feel this way. Let's try to calm down.") st.write("Useful Resources:") st.markdown("[Emotional Wellness Toolkit](https://www.nih.gov/health-information/emotional-wellness-toolkit)") st.write("[Stress Management Tips](https://www.health.harvard.edu/health-a-to-z)") st.write("[Dealing with Anger](https://www.helpguide.org/mental-health/anxiety/tips-for-dealing-with-anxiety)") st.write("Relaxation Videos:") st.markdown("[Watch on YouTube](https://youtu.be/MIc299Flibs)") elif emotion == 'fear': st.write("You're feeling fearful. Take a moment to breathe and relax.") st.write("Useful Resources:") st.markdown("[Mindfulness Practices](https://www.helpguide.org/mental-health/meditation/mindful-breathing-meditation)") st.write("[Coping with Anxiety](https://www.helpguide.org/mental-health/anxiety/tips-for-dealing-with-anxiety)") st.write("[Emotional Wellness Toolkit](https://www.nih.gov/health-information/emotional-wellness-toolkit)") st.write("Relaxation Videos:") st.markdown("[Watch on YouTube](https://youtu.be/yGKKz185M5o)") elif emotion == 'sadness': st.write("You're feeling sad. It's okay to take a break.") st.write("Useful Resources:") st.markdown("[Emotional Wellness Toolkit](https://www.nih.gov/health-information/emotional-wellness-toolkit)") st.write("[Dealing with Anxiety](https://www.helpguide.org/mental-health/anxiety/tips-for-dealing-with-anxiety)") st.write("Relaxation Videos:") st.markdown("[Watch on YouTube](https://youtu.be/-e-4Kx5px_I)") elif emotion == 'surprise': st.write("You're feeling surprised. It's okay to feel neutral!") st.write("Useful Resources:") st.markdown("[Managing Stress](https://www.health.harvard.edu/health-a-to-z)") st.write("[Coping Strategies](https://www.helpguide.org/mental-health/anxiety/tips-for-dealing-with-anxiety)") st.write("Relaxation Videos:") st.markdown("[Watch on YouTube](https://youtu.be/m1vaUGtyo-A)") # Add a button for summary if st.button("Show Summary"): st.write(f"Emotion Detected: {emotion}") st.write("Useful Resources based on your mood:") if emotion == 'joy': st.write("[Relaxation Techniques](https://www.helpguide.org/mental-health/meditation/mindful-breathing-meditation)") elif emotion == 'anger': st.write("[Stress Management Tips](https://www.health.harvard.edu/health-a-to-z)") elif emotion == 'fear': st.write("[Mindfulness Practices](https://www.helpguide.org/mental-health/meditation/mindful-breathing-meditation)") elif emotion == 'sadness': st.write("[Dealing with Anxiety](https://www.helpguide.org/mental-health/anxiety/tips-for-dealing-with-anxiety)") elif emotion == 'surprise': st.write("[Managing Stress](https://www.health.harvard.edu/health-a-to-z)")