Spaces:
Build error
Build error
<html> | |
<head> | |
<title>Trustworthy LLMs for Table QA</title> | |
<style> | |
body { | |
font-family: 'Roboto', sans-serif; | |
background: url('/static/images/background.jpg') no-repeat center center fixed; | |
background-size: cover; | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
height: 100vh; | |
margin: 0; | |
} | |
.container { | |
text-align: center; | |
background-color: #ffffff; | |
padding: 60px; | |
border-radius: 10px; | |
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | |
width: 60%; | |
} | |
h1 { | |
color: #000000; | |
font-size: 48px; | |
margin-bottom: 30px; | |
} | |
label { | |
display: block; | |
margin: 20px 0 10px; | |
color: #000000; | |
font-size: 24px; | |
} | |
input[type="text"], input[type="number"] { | |
width: 80%; | |
padding: 15px; | |
margin-bottom: 20px; | |
border: 1px solid #ddd; | |
border-radius: 5px; | |
font-size: 18px; | |
} | |
.method-buttons { | |
display: flex; | |
flex-wrap: wrap; | |
justify-content: center; | |
margin-bottom: 20px; | |
gap: 20px; | |
} | |
.method-button { | |
width: calc(45% - 10px); | |
padding: 15px; | |
font-size: 20px; | |
border-radius: 10px; | |
cursor: pointer; | |
transition: all 0.3s ease; | |
border: 2px solid transparent; | |
font-weight: bold; | |
text-align: center; | |
} | |
.method-button.Chain-of-Table { | |
background-color: #e0f0ff; | |
color: #1e90ff; | |
} | |
.method-button.Plan-of-SQLs { | |
background-color: #ffcc80; | |
color: #e65100; | |
} | |
.method-button.Dater { | |
background-color: #e8f5e9; | |
color: #4caf50; | |
} | |
.method-button.No-XAI { | |
background-color: #fff3e0; | |
color: #ff9800; | |
} | |
.task-instruction { | |
background-color: #f0f8ff; | |
border-left: 5px solid #4CAF50; | |
padding: 20px; | |
margin-bottom: 30px; | |
border-radius: 5px; | |
text-align: left; | |
} | |
.task-instruction h2 { | |
color: #4CAF50; | |
margin-top: 0; | |
} | |
.task-step { | |
display: flex; | |
align-items: center; | |
margin-bottom: 15px; | |
} | |
.task-icon { | |
font-size: 24px; | |
margin-right: 15px; | |
color: #4CAF50; | |
} | |
.task-text { | |
font-size: 18px; | |
color: #333; | |
} | |
.method-button:hover { | |
opacity: 0.8; | |
} | |
.method-button.selected { | |
border-color: #000000; | |
box-shadow: 0 0 15px rgba(0, 0, 0, 0.3); | |
transform: scale(1.05); | |
animation: borderPulse 0.5s ease-in-out; | |
} | |
@keyframes borderPulse { | |
0% { border-color: transparent; } | |
50% { border-color: #000000; } | |
100% { border-color: #000000; } | |
} | |
button { | |
background-color: #4CAF50; | |
color: white; | |
padding: 15px 30px; | |
border: none; | |
border-radius: 5px; | |
cursor: pointer; | |
font-size: 24px; | |
transition: background-color 0.3s ease; | |
margin-top: 20px; | |
} | |
button:hover { | |
background-color: #45a049; | |
} | |
.error-message { | |
color: red; | |
margin-bottom: 10px; | |
font-size: 18px; | |
} | |
</style> | |
<script> | |
function selectMethod(method) { | |
document.getElementById('method').value = method; | |
var buttons = document.getElementsByClassName('method-button'); | |
for (var i = 0; i < buttons.length; i++) { | |
buttons[i].classList.remove('selected'); | |
} | |
var selectedButton = document.querySelector(`.method-button.${method}`); | |
if (selectedButton) { | |
selectedButton.classList.add('selected'); | |
} | |
} | |
function validateForm() { | |
var username = document.getElementById('username').value; | |
var seed = document.getElementById('seed').value; | |
var method = document.getElementById('method').value; | |
if (!username || !seed || !method) { | |
alert("Please fill in all fields and select a method."); | |
return false; | |
} | |
return true; | |
} | |
</script> | |
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet"> | |
</head> | |
<body> | |
<div class="container"> | |
<div class="task-instruction"> | |
<h2>Let's Get Started! π</h2> | |
<div class="task-step"> | |
<span class="task-icon">π€</span> | |
<span class="task-text">Enter your name</span> | |
</div> | |
<div class="task-step"> | |
<span class="task-icon">π’</span> | |
<span class="task-text">Choose a lucky number</span> | |
</div> | |
<div class="task-step"> | |
<span class="task-icon">π</span> | |
<span class="task-text">Select an explanation method</span> | |
</div> | |
<div class="task-step"> | |
<span class="task-icon">π―</span> | |
<span class="task-text">Complete 10 samples in the experiment</span> | |
</div> | |
</div> | |
{% if error %} | |
<div class="error-message"> | |
{{ error }} | |
</div> | |
{% endif %} | |
<form id="method-form" action="{{ url_for('index') }}" method="post" onsubmit="return validateForm();"> | |
<label for="username">Hi there πππ ! What is your name?</label> | |
<input type="text" id="username" name="username" required> | |
<label for="seed">What is your lucky number? πππ </label> | |
<input type="number" id="seed" name="seed" required> | |
<input type="hidden" id="method" name="method" required> | |
<h2 style="color: #333; margin-top: 30px; margin-bottom: 20px;">Explanation Methods</h2> | |
<div class="method-buttons"> | |
<div class="method-button Chain-of-Table" onclick="selectMethod('Chain-of-Table')"> | |
Chain-of-Table | |
</div> | |
<div class="method-button Plan-of-SQLs" onclick="selectMethod('Plan-of-SQLs')"> | |
Plan-of-SQLs | |
</div> | |
<div class="method-button Dater" onclick="selectMethod('Dater')"> | |
Dater | |
</div> | |
{% if show_no_xai %} | |
<div class="method-button No-XAI" onclick="selectMethod('No-XAI')"> | |
No-XAI | |
</div> | |
{% endif %} | |
</div> | |
<button type="submit">Next</button> | |
</form> | |
</div> | |
</body> | |
</html> |