luulinh90s
commited on
Commit
•
06388b5
1
Parent(s):
68eb98f
update
Browse files- app.py +14 -4
- templates/index.html +7 -0
app.py
CHANGED
@@ -31,14 +31,16 @@ app.config['SECRET_KEY'] = 'supersecretkey' # Change this to a random secret ke
|
|
31 |
SESSION_DIR = '/tmp/sessions'
|
32 |
os.makedirs(SESSION_DIR, exist_ok=True)
|
33 |
|
34 |
-
#
|
35 |
VISUALIZATION_DIRS = {
|
36 |
"No-XAI": "htmls_NO_XAI_mod",
|
37 |
"Dater": "htmls_DATER_mod2",
|
38 |
"Chain-of-Table": "htmls_COT_mod",
|
39 |
-
"Plan-of-SQLs": "htmls_POS_mod2"
|
|
|
40 |
}
|
41 |
|
|
|
42 |
def get_method_dir(method):
|
43 |
if method == 'No-XAI':
|
44 |
return 'NO_XAI'
|
@@ -48,10 +50,13 @@ def get_method_dir(method):
|
|
48 |
return 'COT'
|
49 |
elif method == 'Plan-of-SQLs':
|
50 |
return 'POS'
|
|
|
|
|
51 |
else:
|
52 |
return None
|
53 |
|
54 |
-
|
|
|
55 |
|
56 |
def generate_session_id():
|
57 |
return str(uuid.uuid4())
|
@@ -153,7 +158,7 @@ def index():
|
|
153 |
method = request.form.get('method')
|
154 |
if not username or not seed or not method:
|
155 |
return render_template('index.html', error="Please fill in all fields and select a method.")
|
156 |
-
if method not in ['Chain-of-Table', 'Plan-of-SQLs', 'Dater']:
|
157 |
return render_template('index.html', error="Invalid method selected.")
|
158 |
try:
|
159 |
seed = int(seed)
|
@@ -202,6 +207,8 @@ def explanation(session_id):
|
|
202 |
return render_template('pos_intro.html', session_id=session_id)
|
203 |
elif method == 'Dater':
|
204 |
return render_template('dater_intro.html', session_id=session_id)
|
|
|
|
|
205 |
else:
|
206 |
logger.error(f"Invalid method '{method}' for session ID: {session_id}")
|
207 |
return redirect(url_for('index'))
|
@@ -298,6 +305,7 @@ def feedback():
|
|
298 |
logger.exception(f"Error in feedback route: {e}")
|
299 |
return "An error occurred", 500
|
300 |
|
|
|
301 |
@app.route('/completed/<session_id>')
|
302 |
def completed(session_id):
|
303 |
try:
|
@@ -318,6 +326,8 @@ def completed(session_id):
|
|
318 |
json_file = 'Tabular_LLMs_human_study_vis_6_DATER.json'
|
319 |
elif method == "No-XAI":
|
320 |
json_file = 'Tabular_LLMs_human_study_vis_6_NO_XAI.json'
|
|
|
|
|
321 |
else:
|
322 |
return "Invalid method", 400
|
323 |
|
|
|
31 |
SESSION_DIR = '/tmp/sessions'
|
32 |
os.makedirs(SESSION_DIR, exist_ok=True)
|
33 |
|
34 |
+
# Update the VISUALIZATION_DIRS dictionary
|
35 |
VISUALIZATION_DIRS = {
|
36 |
"No-XAI": "htmls_NO_XAI_mod",
|
37 |
"Dater": "htmls_DATER_mod2",
|
38 |
"Chain-of-Table": "htmls_COT_mod",
|
39 |
+
"Plan-of-SQLs": "htmls_POS_mod2",
|
40 |
+
"Text2SQL": "htmls_Text2SQL"
|
41 |
}
|
42 |
|
43 |
+
# Update the get_method_dir function
|
44 |
def get_method_dir(method):
|
45 |
if method == 'No-XAI':
|
46 |
return 'NO_XAI'
|
|
|
50 |
return 'COT'
|
51 |
elif method == 'Plan-of-SQLs':
|
52 |
return 'POS'
|
53 |
+
elif method == 'Text2SQL':
|
54 |
+
return 'Text2SQL'
|
55 |
else:
|
56 |
return None
|
57 |
|
58 |
+
# Update the METHODS list
|
59 |
+
METHODS = ["No-XAI", "Dater", "Chain-of-Table", "Plan-of-SQLs", "Text2SQL"]
|
60 |
|
61 |
def generate_session_id():
|
62 |
return str(uuid.uuid4())
|
|
|
158 |
method = request.form.get('method')
|
159 |
if not username or not seed or not method:
|
160 |
return render_template('index.html', error="Please fill in all fields and select a method.")
|
161 |
+
if method not in ['Chain-of-Table', 'Plan-of-SQLs', 'Dater', 'Text2SQL']:
|
162 |
return render_template('index.html', error="Invalid method selected.")
|
163 |
try:
|
164 |
seed = int(seed)
|
|
|
207 |
return render_template('pos_intro.html', session_id=session_id)
|
208 |
elif method == 'Dater':
|
209 |
return render_template('dater_intro.html', session_id=session_id)
|
210 |
+
elif method == 'Text2SQL':
|
211 |
+
return render_template('text2sql_intro.html', session_id=session_id)
|
212 |
else:
|
213 |
logger.error(f"Invalid method '{method}' for session ID: {session_id}")
|
214 |
return redirect(url_for('index'))
|
|
|
305 |
logger.exception(f"Error in feedback route: {e}")
|
306 |
return "An error occurred", 500
|
307 |
|
308 |
+
# Update the completed route to include Text2SQL
|
309 |
@app.route('/completed/<session_id>')
|
310 |
def completed(session_id):
|
311 |
try:
|
|
|
326 |
json_file = 'Tabular_LLMs_human_study_vis_6_DATER.json'
|
327 |
elif method == "No-XAI":
|
328 |
json_file = 'Tabular_LLMs_human_study_vis_6_NO_XAI.json'
|
329 |
+
elif method == "Text2SQL":
|
330 |
+
json_file = 'Tabular_LLMs_human_study_vis_6_Text2SQL.json'
|
331 |
else:
|
332 |
return "Invalid method", 400
|
333 |
|
templates/index.html
CHANGED
@@ -66,6 +66,10 @@
|
|
66 |
background-color: #ffcc80;
|
67 |
color: #e65100;
|
68 |
}
|
|
|
|
|
|
|
|
|
69 |
.method-button.Dater {
|
70 |
background-color: #e8f5e9;
|
71 |
color: #4caf50;
|
@@ -210,6 +214,9 @@
|
|
210 |
<div class="method-button Dater" onclick="selectMethod('Dater')">
|
211 |
Dater
|
212 |
</div>
|
|
|
|
|
|
|
213 |
{% if show_no_xai %}
|
214 |
<div class="method-button No-XAI" onclick="selectMethod('No-XAI')">
|
215 |
No-XAI
|
|
|
66 |
background-color: #ffcc80;
|
67 |
color: #e65100;
|
68 |
}
|
69 |
+
.method-button.Text2SQL {
|
70 |
+
background-color: #e1bee7;
|
71 |
+
color: #7b1fa2;
|
72 |
+
}
|
73 |
.method-button.Dater {
|
74 |
background-color: #e8f5e9;
|
75 |
color: #4caf50;
|
|
|
214 |
<div class="method-button Dater" onclick="selectMethod('Dater')">
|
215 |
Dater
|
216 |
</div>
|
217 |
+
<div class="method-button Text2SQL" onclick="selectMethod('Text2SQL')">
|
218 |
+
Text2SQL
|
219 |
+
</div>
|
220 |
{% if show_no_xai %}
|
221 |
<div class="method-button No-XAI" onclick="selectMethod('No-XAI')">
|
222 |
No-XAI
|