luulinh90s commited on
Commit
24cbc9a
·
1 Parent(s): 5d30bf1
Files changed (1) hide show
  1. app.py +26 -4
app.py CHANGED
@@ -4,6 +4,7 @@ import random
4
  import os
5
  import string
6
  import logging
 
7
 
8
  # Set up logging
9
  logging.basicConfig(level=logging.INFO,
@@ -158,9 +159,9 @@ def experiment(username):
158
 
159
  # statement = "Please make a decision to Accept/Reject the AI prediction based on the explanation."
160
  statement = """
161
- The Table Question Answering model is working on Table Fact Verification task (TabFact dataset), verifying if a given Statement is TRUE or FALSE on a given input Table.
162
- You are given an explanation that describes the reasoning process of the Table Question Answering model in HTML format.
163
- Please carefully analyze the explanation and determine you should Accept or Reject the AI prediction.
164
  """
165
 
166
  return render_template('experiment.html',
@@ -195,6 +196,27 @@ def feedback():
195
  # Save updated session data
196
  save_session_data(username, session_data)
197
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
198
  if session_data['current_index'] >= len(session_data['selected_samples']):
199
  return redirect(url_for('completed', username=username))
200
 
@@ -217,7 +239,7 @@ def completed(username):
217
  if method == "Chain-of-Table":
218
  json_file = 'Tabular_LLMs_human_study_vis_6_COT.json'
219
  else: # Default to Plan-of-SQLs
220
- json_file = 'Tabular_LLMs_human_study_vis_6.json'
221
 
222
  with open(json_file, 'r') as f:
223
  ground_truth = json.load(f)
 
4
  import os
5
  import string
6
  import logging
7
+ from datetime import datetime
8
 
9
  # Set up logging
10
  logging.basicConfig(level=logging.INFO,
 
159
 
160
  # statement = "Please make a decision to Accept/Reject the AI prediction based on the explanation."
161
  statement = """
162
+ A Table Question Answering model is working on Table Fact Verification task (TabFact dataset), verifying if a given Statement is TRUE or FALSE on a given input Table.
163
+ You are given an explanation that describes the reasoning process of the Table QA model.
164
+ Please carefully analyze the explanation and determine whether you should Accept or Reject the AI prediction.
165
  """
166
 
167
  return render_template('experiment.html',
 
196
  # Save updated session data
197
  save_session_data(username, session_data)
198
 
199
+ # Write feedback to a separate JSON file
200
+ os.makedirs('session_data', exist_ok=True)
201
+ feedback_file = f'session_data/{username}_feedback.json'
202
+
203
+ if os.path.exists(feedback_file):
204
+ with open(feedback_file, 'r') as f:
205
+ feedback_data = json.load(f)
206
+ else:
207
+ feedback_data = []
208
+
209
+ feedback_data.append({
210
+ 'sample_id': session_data['current_index'] - 1,
211
+ 'feedback': feedback,
212
+ 'timestamp': datetime.now().isoformat()
213
+ })
214
+
215
+ with open(feedback_file, 'w') as f:
216
+ json.dump(feedback_data, f, indent=4)
217
+
218
+ logger.info(f"Feedback saved for user {username}, sample {session_data['current_index'] - 1}")
219
+
220
  if session_data['current_index'] >= len(session_data['selected_samples']):
221
  return redirect(url_for('completed', username=username))
222
 
 
239
  if method == "Chain-of-Table":
240
  json_file = 'Tabular_LLMs_human_study_vis_6_COT.json'
241
  else: # Default to Plan-of-SQLs
242
+ json_file = 'Tabular_LLMs_human_study_vis_6_POS.json'
243
 
244
  with open(json_file, 'r') as f:
245
  ground_truth = json.load(f)