ZarinT commited on
Commit
ba8ab7e
Β·
verified Β·
1 Parent(s): 222b546

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -6
app.py CHANGED
@@ -337,6 +337,8 @@ def main():
337
  st.session_state.vectorstore = None
338
  if "feedback_submitted" not in st.session_state:
339
  st.session_state.feedback_submitted = False
 
 
340
 
341
  st.header("Chat with MODTRAN Documents πŸ“„")
342
 
@@ -349,7 +351,12 @@ def main():
349
 
350
  user_question = st.text_input("Ask your question:", key="user_input")
351
 
352
- if st.session_state.chat_ready and user_question and not st.session_state.feedback_submitted:
 
 
 
 
 
353
  with st.spinner("Generating answer..."):
354
  try:
355
  set_global_vectorstore(st.session_state.vectorstore)
@@ -361,6 +368,7 @@ def main():
361
  st.write(response)
362
 
363
  st.session_state.chat_history.append({"user": user_question, "bot": response})
 
364
 
365
  with st.form(key=f"feedback_form_{len(st.session_state.chat_history)}"):
366
  rating = st.radio(
@@ -379,17 +387,19 @@ def main():
379
  }
380
  st.session_state.feedback_log.append(feedback)
381
 
382
- if len(st.session_state.feedback_log) >= 5:
383
  save_feedback_to_huggingface()
384
 
385
- # Mark feedback as submitted to prevent rerun loop
386
  st.session_state.feedback_submitted = True
387
- st.session_state["user_input"] = ""
388
  st.rerun()
389
 
390
- # Reset feedback flag if no question is asked (new session)
391
- if not user_question:
392
  st.session_state.feedback_submitted = False
 
 
393
 
394
 
395
 
 
337
  st.session_state.vectorstore = None
338
  if "feedback_submitted" not in st.session_state:
339
  st.session_state.feedback_submitted = False
340
+ if "last_question" not in st.session_state:
341
+ st.session_state.last_question = ""
342
 
343
  st.header("Chat with MODTRAN Documents πŸ“„")
344
 
 
351
 
352
  user_question = st.text_input("Ask your question:", key="user_input")
353
 
354
+ if (
355
+ st.session_state.chat_ready and
356
+ user_question and
357
+ not st.session_state.feedback_submitted and
358
+ user_question != st.session_state.last_question
359
+ ):
360
  with st.spinner("Generating answer..."):
361
  try:
362
  set_global_vectorstore(st.session_state.vectorstore)
 
368
  st.write(response)
369
 
370
  st.session_state.chat_history.append({"user": user_question, "bot": response})
371
+ st.session_state.last_question = user_question # βœ… Mark as answered
372
 
373
  with st.form(key=f"feedback_form_{len(st.session_state.chat_history)}"):
374
  rating = st.radio(
 
387
  }
388
  st.session_state.feedback_log.append(feedback)
389
 
390
+ if len(st.session_state.feedback_log) >= 1:
391
  save_feedback_to_huggingface()
392
 
393
+
394
  st.session_state.feedback_submitted = True
395
+ st.session_state.user_input = ""
396
  st.rerun()
397
 
398
+ # Reset flag if new question is typed
399
+ if st.session_state.feedback_submitted and not user_question:
400
  st.session_state.feedback_submitted = False
401
+ st.session_state.last_question = ""
402
+
403
 
404
 
405