JirasakJo commited on
Commit
826d1eb
·
verified ·
1 Parent(s): 6c30aee

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -11
app.py CHANGED
@@ -1,8 +1,8 @@
1
  import streamlit as st
2
  import json
3
  import os
 
4
  from datetime import datetime, timedelta
5
- import subprocess
6
  from huggingface_hub import HfApi
7
  from pathlib import Path
8
  from calendar_rag import (
@@ -11,6 +11,8 @@ from calendar_rag import (
11
  PipelineConfig
12
  )
13
 
 
 
14
  # Custom CSS for enhanced styling
15
  def load_custom_css():
16
  st.markdown("""
@@ -121,9 +123,11 @@ def load_qa_history():
121
  st.error(f"Error loading QA history: {str(e)}")
122
  return []
123
 
 
124
  def save_qa_history(history_entry):
125
  """Save QA history entry to local JSON file and push to Hugging Face"""
126
  try:
 
127
  history_file = Path("qa_history.json")
128
 
129
  # Initialize or load existing history
@@ -156,14 +160,16 @@ def save_qa_history(history_entry):
156
  st.error(f"Error saving QA history: {str(e)}")
157
 
158
  def add_to_qa_history(query: str, answer: str):
159
- """Add new QA pair to history"""
160
  history_entry = {
161
  "timestamp": (datetime.now() + timedelta(hours=7)).isoformat(),
162
  "query": query,
163
  "answer": answer
164
  }
165
 
166
- save_qa_history(history_entry)
 
 
167
  return history_entry
168
 
169
  def clear_qa_history():
@@ -269,7 +275,7 @@ def main():
269
  key="query_input"
270
  )
271
 
272
- # Button layout inside main() function
273
  col1, col2, col3 = st.columns([1, 1, 4])
274
 
275
  with col1:
@@ -287,12 +293,13 @@ def main():
287
  use_container_width=True,
288
  key="clear_history_button"
289
  )
 
290
  # Process query
291
  if send_query and query:
292
  if st.session_state.pipeline is None:
293
  st.error("❌ ไม่สามารถเชื่อมต่อกับระบบได้ กรุณาลองใหม่อีกครั้ง")
294
  return
295
-
296
  add_to_history("user", query)
297
 
298
  try:
@@ -319,12 +326,12 @@ def main():
319
 
320
  elif send_query and not query:
321
  st.warning("⚠️ กรุณาระบุคำถาม")
322
-
323
- # Handle clear history action
324
- if clear_history:
325
- st.session_state.chat_history = []
326
- clear_qa_history()
327
- st.rerun()
328
 
329
  with info_col:
330
  # System information
@@ -366,5 +373,14 @@ def main():
366
  "พร้อมใช้งาน" if st.session_state.pipeline else "ไม่พร้อมใช้งาน"
367
  ), unsafe_allow_html=True)
368
 
 
 
 
 
 
 
 
 
 
369
  if __name__ == "__main__":
370
  main()
 
1
  import streamlit as st
2
  import json
3
  import os
4
+ import time
5
  from datetime import datetime, timedelta
 
6
  from huggingface_hub import HfApi
7
  from pathlib import Path
8
  from calendar_rag import (
 
11
  PipelineConfig
12
  )
13
 
14
+ all_history = []
15
+
16
  # Custom CSS for enhanced styling
17
  def load_custom_css():
18
  st.markdown("""
 
123
  st.error(f"Error loading QA history: {str(e)}")
124
  return []
125
 
126
+
127
  def save_qa_history(history_entry):
128
  """Save QA history entry to local JSON file and push to Hugging Face"""
129
  try:
130
+
131
  history_file = Path("qa_history.json")
132
 
133
  # Initialize or load existing history
 
160
  st.error(f"Error saving QA history: {str(e)}")
161
 
162
  def add_to_qa_history(query: str, answer: str):
163
+ """Add new QA pair to history and store it in all_history"""
164
  history_entry = {
165
  "timestamp": (datetime.now() + timedelta(hours=7)).isoformat(),
166
  "query": query,
167
  "answer": answer
168
  }
169
 
170
+ # Append the new history entry to the all_history list
171
+ all_history.append(history_entry)
172
+
173
  return history_entry
174
 
175
  def clear_qa_history():
 
275
  key="query_input"
276
  )
277
 
278
+ # Button layout
279
  col1, col2, col3 = st.columns([1, 1, 4])
280
 
281
  with col1:
 
293
  use_container_width=True,
294
  key="clear_history_button"
295
  )
296
+
297
  # Process query
298
  if send_query and query:
299
  if st.session_state.pipeline is None:
300
  st.error("❌ ไม่สามารถเชื่อมต่อกับระบบได้ กรุณาลองใหม่อีกครั้ง")
301
  return
302
+
303
  add_to_history("user", query)
304
 
305
  try:
 
326
 
327
  elif send_query and not query:
328
  st.warning("⚠️ กรุณาระบุคำถาม")
329
+
330
+ # Clear history
331
+ if clear_history:
332
+ st.session_state.chat_history = []
333
+ save_qa_history([]) # Clear saved history
334
+ st.rerun()
335
 
336
  with info_col:
337
  # System information
 
373
  "พร้อมใช้งาน" if st.session_state.pipeline else "ไม่พร้อมใช้งาน"
374
  ), unsafe_allow_html=True)
375
 
376
+ # Handle clear history action
377
+ if clear_history:
378
+ st.session_state.chat_history = []
379
+ clear_qa_history()
380
+ st.rerun()
381
+
382
+ time.sleep(20)
383
+ save_qa_history(all_history)
384
+
385
  if __name__ == "__main__":
386
  main()