Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| from db import insert_data_if_empty, get_mongo_client | |
| from chatbot import chatbot_response | |
| # Ensure historical data is inserted into MongoDB if not already present. | |
| insert_data_if_empty() | |
| # Connect to MongoDB (optional: for additional visualizations) | |
| collection = get_mongo_client() | |
| st.subheader("💬 Chatbot with Sentiment Analysis & Category Extraction") | |
| # Create an expander to display example questions on separate lines. | |
| with st.expander("Example Questions"): | |
| st.write("• Provide analysis for data entry 1 in the dataset") | |
| st.write("• What is the dataset summary?") | |
| # Text area for user input. | |
| user_prompt = st.text_area("Ask me something:") | |
| if st.button("Get Response"): | |
| ai_response, sentiment_label, sentiment_confidence, topic_label, topic_confidence = chatbot_response(user_prompt) | |
| if ai_response: | |
| st.write("### Response:") | |
| st.markdown(ai_response) | |
| st.write("### Sentiment Analysis:") | |
| st.write(f"**Sentiment Detected:** {sentiment_label} ({sentiment_confidence:.2f} confidence)") | |
| st.write("### Category Extraction:") | |
| st.write(f"**Category Detected:** {topic_label} ({topic_confidence:.2f} confidence)") | |
| else: | |
| st.warning("⚠️ Please enter a question or text for analysis.") | |