Spaces:
Sleeping
Sleeping
import streamlit as st | |
from transformers import pipeline | |
from gtts import gTTS | |
from youtubesearchpython import VideosSearch | |
import os | |
# Initialize the chatbot pipeline using a pre-trained model from Hugging Face | |
chatbot = pipeline("text-generation", model="microsoft/DialoGPT-medium") | |
# Streamlit app title | |
st.title("Grief and Loss Support Bot") | |
# Text input for user queries | |
user_input = st.text_input("You:", "") | |
# Respond to user input | |
if user_input: | |
# Generate a response from the chatbot | |
response = chatbot(user_input, max_length=50, num_return_sequences=1)[0]['generated_text'] | |
st.text_area("Bot:", response, height=100) | |
# Convert the response to speech using gTTS and save as an audio file | |
tts = gTTS(text=response, lang='en') | |
tts.save("response.mp3") | |
audio_file = open("response.mp3", "rb") | |
audio_bytes = audio_file.read() | |
st.audio(audio_bytes, format="audio/mp3") | |
audio_file.close() | |
os.remove("response.mp3") # Clean up the audio file after playback | |
# YouTube search functionality for coping resources | |
st.header("Helpful Videos") | |
search_query = st.text_input("Enter a topic for video suggestions:") | |
if search_query: | |
# Search for videos using YouTubeSearchPython | |
video_search = VideosSearch(search_query, limit=3) | |
results = video_search.result() | |
for video in results['result']: | |
st.write(f"[{video['title']}]({video['link']})") | |
# Display a note for users | |
st.write("**Note:** This bot is designed for general emotional support. For urgent help, please reach out to professional resources.") | |