Ridealist commited on
Commit
7a5d869
โ€ข
1 Parent(s): 5f19b17

feat: implement debate histoty view

Browse files
Files changed (1) hide show
  1. app.py +68 -33
app.py CHANGED
@@ -100,15 +100,6 @@ if "debate_time" not in st.session_state:
100
  if "pre_audio" not in st.session_state:
101
  st.session_state.pre_audio = np.array([])
102
 
103
- if "case1" not in st.session_state:
104
- st.session_state.case1 = ""
105
-
106
- if "case2" not in st.session_state:
107
- st.session_state.case2 = ""
108
-
109
- if "case3" not in st.session_state:
110
- st.session_state.case3 = ""
111
-
112
 
113
  # for db session number
114
  if "session_num" not in st.session_state:
@@ -138,9 +129,7 @@ def page_1_2_controller():
138
  st.session_state.page = "Page 2"
139
  print("save info")
140
 
141
- save_info(
142
- st.session_state.user_id
143
- )
144
  st.write('Information submitted successfully.')
145
 
146
  #########################################################
@@ -174,8 +163,11 @@ def page_4_5_controller():
174
  def page_5_6_controller():
175
  st.session_state.page = "Page 6"
176
 
177
- def page_2_6_controller():
178
- st.session_state.page = "Page 6"
 
 
 
179
 
180
  #########################################################
181
  # Page 1
@@ -185,15 +177,15 @@ def page1():
185
  # for local variables
186
  topic_list = []
187
 
188
- st.header('User Info & Debate Setting')
189
  st.session_state.user_id = st.text_input(
190
- label="Enter user ID",
191
  max_chars=100,
192
  placeholder="Enter user ID"
193
  )
194
 
195
  st.button(
196
- label='Submit all information',
197
  on_click=page_1_2_controller
198
  )
199
  # You can add a function here to save the submitted info
@@ -209,16 +201,59 @@ def page2():
209
  if option_result == "Total Debate":
210
  page_control_func = page_2_3_controller
211
  elif option_result == "Evaluation Only & Analyzing Utterances":
212
- page_control_func = page_2_6_controller
213
 
214
- if st.button(
215
- label='Submit all information',
216
  on_click=page_control_func
217
- ):
218
- st.write('Information submitted successfully.')
219
 
220
 
 
 
 
221
  def page3():
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  #########################################################
223
  # Tab 1 - Total Debate (ํ† ๋ก  ์ค€๋น„ -> ์—ฐ์Šต -> ํ‰๊ฐ€)
224
  #########################################################
@@ -382,10 +417,10 @@ def page3():
382
  label="Answer",
383
  placeholder="(Answer will be shown here)",
384
  value=result,
385
- height=150)
386
 
387
  #########################################################
388
- # Page4
389
  #########################################################
390
 
391
  # generate response
@@ -407,7 +442,7 @@ def execute_stt(audio):
407
  audio_file.close()
408
  return user_input
409
 
410
- def page4():
411
 
412
  # time
413
  st.session_state.start_time = time.time()
@@ -443,7 +478,7 @@ def page4():
443
  label="Answer",
444
  placeholder="(Answer will be shown here)",
445
  value=result,
446
- height=150)
447
 
448
  # default system prompt settings
449
  if not st.session_state['total_debate_history']:
@@ -561,7 +596,7 @@ print("#"*50)
561
  #########################################################
562
  # Page5 - Total Debate Evaluation
563
  #########################################################
564
- def page5():
565
 
566
  # end time
567
  st.session_state.end_time = time.time()
@@ -668,7 +703,7 @@ def page5():
668
  # Page6
669
  #########################################################
670
 
671
- def page6():
672
 
673
  # end time
674
  st.session_state.end_time = time.time()
@@ -777,17 +812,17 @@ def page6():
777
  # ์ด์ „์— ๊ธฐ๋ก๋œ ๊ฐ’์ด ์—†๋‹ค๋ฉด, ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
778
 
779
 
780
-
781
  #########################################################
782
  # Page Routing
783
  #########################################################
784
  pages = {
785
  "Page 1": page1, # user_id์™€ openai_key๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ํŽ˜์ด์ง€
786
  "Page 2": page2, # ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜๋Š” ํŽ˜์ด์ง€
787
- "Page 3": page3, # Total Debate
788
- "Page 4": page4, # Evaluation Only
789
- "Page 5": page5, # Analyzing Utterances
790
- "Page 6": page6,
 
791
  }
792
 
793
  selection = st.session_state.page
 
100
  if "pre_audio" not in st.session_state:
101
  st.session_state.pre_audio = np.array([])
102
 
 
 
 
 
 
 
 
 
 
103
 
104
  # for db session number
105
  if "session_num" not in st.session_state:
 
129
  st.session_state.page = "Page 2"
130
  print("save info")
131
 
132
+ save_info(st.session_state.user_id)
 
 
133
  st.write('Information submitted successfully.')
134
 
135
  #########################################################
 
163
  def page_5_6_controller():
164
  st.session_state.page = "Page 6"
165
 
166
+ def page_6_7_controller():
167
+ st.session_state.page = "Page 7"
168
+
169
+ def page_2_7_controller():
170
+ st.session_state.page = "Page 7"
171
 
172
  #########################################################
173
  # Page 1
 
177
  # for local variables
178
  topic_list = []
179
 
180
+ st.header('User Info')
181
  st.session_state.user_id = st.text_input(
182
+ label="User ID",
183
  max_chars=100,
184
  placeholder="Enter user ID"
185
  )
186
 
187
  st.button(
188
+ label='Submit',
189
  on_click=page_1_2_controller
190
  )
191
  # You can add a function here to save the submitted info
 
201
  if option_result == "Total Debate":
202
  page_control_func = page_2_3_controller
203
  elif option_result == "Evaluation Only & Analyzing Utterances":
204
+ page_control_func = page_2_7_controller
205
 
206
+ st.button(
207
+ label='Submit',
208
  on_click=page_control_func
209
+ )
 
210
 
211
 
212
+ #########################################################
213
+ # Page 3
214
+ #########################################################
215
  def page3():
216
+ debate_history = get_lastest_item(
217
+ table=dynamodb.Table('DEBO_debate_setting'),
218
+ name_of_partition_key="user_id",
219
+ value_of_partition_key=st.session_state.user_id,
220
+ #TODO ์ „์ฒด ๋ณด์—ฌ์ค„ ๊ฐœ์ˆ˜ ์„ค์ •
221
+ limit_num=10
222
+ )
223
+
224
+ if not debate_history:
225
+ st.info('There is no previous debate history', icon="โ„น๏ธ")
226
+
227
+ print(debate_history)
228
+
229
+ st.header("Debate History")
230
+
231
+ num_history = len(debate_history)
232
+ for i in range(num_history):
233
+ with st.container():
234
+ st.write(f"#### {i + 1}")
235
+ st.write(f"Debate Thema : {debate_history[i]['debate_theme']}")
236
+ st.write(f"Debate Topic : {debate_history[i]['debate_topic']}")
237
+ st.write(f"Case 1 : {debate_history[i]['case1']}")
238
+ st.write(f"Case 2 : {debate_history[i]['case2']}")
239
+ st.write(f"Case 3 : {debate_history[i]['case3']}")
240
+ st.write(f"Created at : {debate_history[i]['time_stamp']}")
241
+ st.button(
242
+ label='Continue this dabate',
243
+ key=str(i),
244
+ on_click=page_4_5_controller
245
+ )
246
+ st.write("_"*50)
247
+
248
+ st.button(
249
+ label=f'๐Ÿš€ Start new debate',
250
+ on_click=page_3_4_controller
251
+ )
252
+
253
+ #########################################################
254
+ # Page 4
255
+ #########################################################
256
+ def page4():
257
  #########################################################
258
  # Tab 1 - Total Debate (ํ† ๋ก  ์ค€๋น„ -> ์—ฐ์Šต -> ํ‰๊ฐ€)
259
  #########################################################
 
417
  label="Answer",
418
  placeholder="(Answer will be shown here)",
419
  value=result,
420
+ height=300)
421
 
422
  #########################################################
423
+ # Page5
424
  #########################################################
425
 
426
  # generate response
 
442
  audio_file.close()
443
  return user_input
444
 
445
+ def page5():
446
 
447
  # time
448
  st.session_state.start_time = time.time()
 
478
  label="Answer",
479
  placeholder="(Answer will be shown here)",
480
  value=result,
481
+ height=300)
482
 
483
  # default system prompt settings
484
  if not st.session_state['total_debate_history']:
 
596
  #########################################################
597
  # Page5 - Total Debate Evaluation
598
  #########################################################
599
+ def page6():
600
 
601
  # end time
602
  st.session_state.end_time = time.time()
 
703
  # Page6
704
  #########################################################
705
 
706
+ def page7():
707
 
708
  # end time
709
  st.session_state.end_time = time.time()
 
812
  # ์ด์ „์— ๊ธฐ๋ก๋œ ๊ฐ’์ด ์—†๋‹ค๋ฉด, ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
813
 
814
 
 
815
  #########################################################
816
  # Page Routing
817
  #########################################################
818
  pages = {
819
  "Page 1": page1, # user_id์™€ openai_key๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ํŽ˜์ด์ง€
820
  "Page 2": page2, # ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜๋Š” ํŽ˜์ด์ง€
821
+ "Page 3": page3,
822
+ "Page 4": page4, # Total Debate
823
+ "Page 5": page5, # Evaluation Only
824
+ "Page 6": page6, # Analyzing Utterances
825
+ "Page 7": page7,
826
  }
827
 
828
  selection = st.session_state.page