Spaces:
Sleeping
Sleeping
import streamlit as st | |
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer | |
# Load chatbot model | |
chatbot_model = "microsoft/DialoGPT-medium" | |
tokenizer = AutoTokenizer.from_pretrained(chatbot_model) | |
model = AutoModelForCausalLM.from_pretrained(chatbot_model) | |
# Load emotion detection model | |
emotion_pipeline = pipeline("text-classification", model="j-hartmann/emotion-english-distilroberta-base") | |
st.title("π§ Mental Health Chatbot") | |
# Chat history | |
if "chat_history" not in st.session_state: | |
st.session_state.chat_history = [] | |
# User Input | |
user_input = st.text_input("You:", key="user_input") | |
if st.button("Send"): | |
if user_input: | |
# Generate chatbot response | |
input_ids = tokenizer.encode(user_input + tokenizer.eos_token, return_tensors="pt") | |
output = model.generate(input_ids, max_length=200, pad_token_id=tokenizer.eos_token_id) | |
response = tokenizer.decode(output[:, input_ids.shape[-1]:][0], skip_special_tokens=True) | |
# Detect emotion | |
emotion_result = emotion_pipeline(user_input) | |
emotion = emotion_result[0]["label"] | |
# Store chat history | |
st.session_state.chat_history.append(("You", user_input)) | |
st.session_state.chat_history.append(("Bot", response)) | |
# Display chat | |
for sender, msg in st.session_state.chat_history: | |
st.write(f"**{sender}:** {msg}") | |
# Display emotion | |
st.write(f"π§ **Emotion Detected:** {emotion}") | |
# import streamlit as st | |
# from transformers import pipeline, AutoTokenizer | |
# # β Load Emotion Recognition Model | |
# emotion_pipeline = pipeline("text-classification", model="ahmettasdemir/distilbert-base-uncased-finetuned-emotion") | |
# # β Load Stress Detection Model | |
# stress_pipeline = pipeline("text-classification", model="j-hartmann/emotion-english-distilroberta-base") | |
# # β Load Mental Disorder Detection Model | |
# mental_bert_pipeline = pipeline("text-classification", model="nlpconnect/vit-gpt2-image-captioning") | |
# # β Load PHQ-9 Depression Severity Classifier | |
# phq9_pipeline = pipeline("text-classification", model="PHQ-9 Depression Classifier") | |
# # β Load Chatbot Model (DeepSeek) | |
# deepseek_model = "deepseek-ai/deepseek-llm-7b" | |
# deepseek_tokenizer = AutoTokenizer.from_pretrained(deepseek_model) | |
# deepseek_pipeline = pipeline("text-generation", model=deepseek_model, tokenizer=deepseek_tokenizer) | |
# # π₯ Streamlit UI | |
# st.title("π§ Mental Health Assistant Bot") | |
# user_input = st.text_input("How are you feeling today?", "") | |
# if st.button("Submit"): | |
# if user_input: | |
# # β Emotion Analysis | |
# emotion_result = emotion_pipeline(user_input)[0] | |
# st.write(f"**Emotion Detected:** {emotion_result['label']} ({emotion_result['score']:.2f})") | |
# # β Stress Level Analysis | |
# stress_result = stress_pipeline(user_input)[0] | |
# st.write(f"**Stress Level:** {stress_result['label']} ({stress_result['score']:.2f})") | |
# # β Mental Health Condition Detection | |
# mental_health_result = mental_bert_pipeline(user_input)[0] | |
# st.write(f"**Possible Mental Health Condition:** {mental_health_result['label']} ({mental_health_result['score']:.2f})") | |
# # β AI Chatbot Response | |
# deepseek_response = deepseek_pipeline(user_input, max_length=100, do_sample=True)[0]['generated_text'] | |
# st.write(f"π€ **Chatbot:** {deepseek_response}") | |