Spaces:
Sleeping
Sleeping
File size: 1,774 Bytes
0105e3b f89cec9 7268351 be89ae1 ea4634d 84326e0 7268351 ea4634d 84326e0 f89cec9 f37d2cc f453bef |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
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()
# Create a two-column layout: left for the image, right for the chatbot UI.
col1, col2 = st.columns([1, 3])
with col1:
st.image("https://huggingface.co/spaces/sharangrav24/SentimentAnalysis/resolve/main/sentiment.png", use_column_width=True)
with col2:
st.subheader("π¬ Chatbot with Sentiment Analysis & Category Extraction")
# Create an expander to display example questions on separate lines.
with st.expander("π Hi, allow me to help you with prompts:"):
st.write("π‘ Provide analysis for data entry 1 in the dataset")
st.write("π‘ What is the dataset summary?")
st.write("π‘ or just ask me something of your own, I'll be happy to help π")
# 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*100:.2f}% confidence)")
st.write("### Category Extraction:")
st.write(f"**Category Detected:** {topic_label} ({topic_confidence*100:.2f}% confidence)")
else:
st.warning("β οΈ Please enter a question or text for analysis.")
|