Hasitha16 commited on
Commit
b6cdcfd
Β·
verified Β·
1 Parent(s): 1959778

Update frontend.py

Browse files
Files changed (1) hide show
  1. frontend.py +17 -7
frontend.py CHANGED
@@ -23,7 +23,10 @@ defaults = {
23
  "intelligence_mode": True,
24
  "trigger_example_analysis": False,
25
  "last_response": None,
26
- "followup_answer": None
 
 
 
27
  }
28
  for k, v in defaults.items():
29
  if k not in st.session_state:
@@ -53,8 +56,8 @@ with st.sidebar:
53
  sentiment_model = st.selectbox("πŸ“Š Sentiment Model", ["Auto-detect", "distilbert-base-uncased-finetuned-sst-2-english"])
54
  industry = st.selectbox("🏭 Industry", ["Auto-detect", "Generic", "E-commerce", "Healthcare", "Education"])
55
  product_category = st.selectbox("🧩 Product Category", ["Auto-detect", "General", "Mobile Devices", "Laptops"])
56
- use_aspects = st.checkbox("πŸ” Detect Pain Points")
57
- use_explain_bulk = st.checkbox("🧠 Generate PM Insight (Bulk)")
58
  verbosity = st.radio("πŸ—£οΈ Response Style", ["Brief", "Detailed"])
59
 
60
  tab1, tab2 = st.tabs(["🧠 Analyze Review", "πŸ“š Bulk Reviews"])
@@ -90,12 +93,13 @@ with tab1:
90
  try:
91
  model_used = None if sentiment_model == "Auto-detect" else sentiment_model
92
  payload = {
 
93
  "text": st.session_state.review,
94
  "model": model_used or "distilbert-base-uncased-finetuned-sst-2-english",
95
  "industry": industry,
96
  "product_category": product_category,
97
  "verbosity": verbosity,
98
- "aspects": use_aspects,
99
  "intelligence": st.session_state.get("intelligence_mode", False)
100
  }
101
  headers = {"x-api-key": st.session_state.get("api_token", "my-secret-key")}
@@ -123,8 +127,12 @@ with tab1:
123
  risk = data["churn_risk"]
124
  color = "πŸ”΄" if risk == "High Risk" else "🟒"
125
  st.metric("🚨 Churn Risk", f"{color} {risk}")
126
- if data.get("pain_points"):
127
- st.error("πŸ” Pain Points: " + ", ".join(data["pain_points"]))
 
 
 
 
128
 
129
  try:
130
  st.session_state.churn_log.append({
@@ -197,8 +205,10 @@ with tab2:
197
  "industry": None,
198
  "product_category": None,
199
  "device": None,
200
- "aspects": use_aspects,
201
  "intelligence": st.session_state.intelligence_mode
 
 
202
  }
203
  try:
204
  res = requests.post(f"{backend_url}/bulk/?token={api_token}", json=payload)
 
23
  "intelligence_mode": True,
24
  "trigger_example_analysis": False,
25
  "last_response": None,
26
+ "followup_answer": None,
27
+ "use_aspects": False,
28
+ "use_explain_bulk": False
29
+
30
  }
31
  for k, v in defaults.items():
32
  if k not in st.session_state:
 
56
  sentiment_model = st.selectbox("πŸ“Š Sentiment Model", ["Auto-detect", "distilbert-base-uncased-finetuned-sst-2-english"])
57
  industry = st.selectbox("🏭 Industry", ["Auto-detect", "Generic", "E-commerce", "Healthcare", "Education"])
58
  product_category = st.selectbox("🧩 Product Category", ["Auto-detect", "General", "Mobile Devices", "Laptops"])
59
+ st.session_state.use_aspects = st.checkbox("πŸ” Detect Pain Points", value=st.session_state.get("use_aspects", False))
60
+ st.session_state.use_explain_bulk = st.checkbox("🧠 Generate PM Insight (Bulk)", value=st.session_state.get("use_explain_bulk", False))
61
  verbosity = st.radio("πŸ—£οΈ Response Style", ["Brief", "Detailed"])
62
 
63
  tab1, tab2 = st.tabs(["🧠 Analyze Review", "πŸ“š Bulk Reviews"])
 
93
  try:
94
  model_used = None if sentiment_model == "Auto-detect" else sentiment_model
95
  payload = {
96
+
97
  "text": st.session_state.review,
98
  "model": model_used or "distilbert-base-uncased-finetuned-sst-2-english",
99
  "industry": industry,
100
  "product_category": product_category,
101
  "verbosity": verbosity,
102
+ "aspects": st.session_state.use_aspects,
103
  "intelligence": st.session_state.get("intelligence_mode", False)
104
  }
105
  headers = {"x-api-key": st.session_state.get("api_token", "my-secret-key")}
 
127
  risk = data["churn_risk"]
128
  color = "πŸ”΄" if risk == "High Risk" else "🟒"
129
  st.metric("🚨 Churn Risk", f"{color} {risk}")
130
+ if st.session_state.use_aspects:
131
+ if data.get("pain_points"):
132
+ st.error("πŸ” Pain Points: " + ", ".join(data["pain_points"]))
133
+ else:
134
+ st.info("βœ… No specific pain points were detected.")
135
+
136
 
137
  try:
138
  st.session_state.churn_log.append({
 
205
  "industry": None,
206
  "product_category": None,
207
  "device": None,
208
+ "aspects": st.session_state.use_aspects,
209
  "intelligence": st.session_state.intelligence_mode
210
+ "explain_bulk": st.session_state.use_explain_bulk
211
+
212
  }
213
  try:
214
  res = requests.post(f"{backend_url}/bulk/?token={api_token}", json=payload)