stefutz101's picture
fixed [object HTMLOListElement] message
61bba9c
function updateForm() {
const mode = document.getElementById('mode-select').value;
const sqlFields = document.getElementById('sql-fields');
const textFields = document.getElementById('text-fields');
const fileFields = document.getElementById('file-fields');
sqlFields.style.display = 'none';
textFields.style.display = 'none';
fileFields.style.display = 'none';
if (mode === 'sql') {
sqlFields.style.display = 'block';
} else if (mode === 'text') {
textFields.style.display = 'block';
} else if (mode === 'file') {
fileFields.style.display = 'block';
}
}
const toggleSettingsBtn = document.getElementById("toggle-settings-btn");
toggleSettingsBtn.addEventListener("click", function(event) {
event.preventDefault();
const advancedSettingsDiv = document.getElementById("advanced-settings");
if (advancedSettingsDiv.style.display === "none") {
advancedSettingsDiv.style.display = "block";
toggleSettingsBtn.textContent = "Hide Advanced Settings";
} else {
advancedSettingsDiv.style.display = "none";
toggleSettingsBtn.textContent = "Advanced Settings";
}
});
const showLoading = () => {
document.getElementById('loading-overlay').style.display = 'flex';
};
const hideLoading = () => {
document.getElementById('loading-overlay').style.display = 'none';
};
const sendRequest = async (request, mode) => {
showLoading();
try {
let response;
if (mode !== "file") {
response = await fetch('/predict', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(request)
});
} else {
const formData = new FormData();
// Append all properties of the request object to the FormData
for (const key in request) {
if (request.hasOwnProperty(key)) {
formData.append(key, request[key]);
}
}
response = await fetch('/predict_batch', {
method: 'POST',
body: formData
});
}
if (!response.ok) {
throw new Error('Network response was not ok');
}
const jsonResponse = await response.json();
// Check if the response is an array and handle accordingly
let contentList = null;
if (Array.isArray(jsonResponse)) {
if (jsonResponse.length > 1) {
contentList = document.createElement('ol');
jsonResponse.forEach(item => {
if (item.content) {
let listItem = document.createElement('li');
listItem.textContent = item.content;
contentList.appendChild(listItem);
}
});
} else {
contentList = jsonResponse[0]?.content || jsonResponse.content || ''
}
}
return contentList;
} catch (error) {
console.error('Error:', error);
} finally {
hideLoading();
}
};
const textGenForm = document.querySelector(".text-gen-form");
const textGenParagraph = document.querySelector(".text-gen-output");
const fileInput = document.getElementById("file-input");
//const showEmail = document.getElementById('send-email');
//const emailPrompt = document.getElementById('email-prompt');
textGenForm.addEventListener("submit", async (event) => {
event.preventDefault();
const mode = document.getElementById("mode-select").value;
request = {}
if (mode === "file") {
if (fileInput.files.length > 0) {
const file = fileInput.files[0];
request.json_file = file;
} else {
textGenParagraph.textContent = "Please upload a file.";
return;
}
} else {
request.context = document.getElementById(`${mode}-context`).value;
request.prompt = document.getElementById(`${mode}-prompt`).value;
if (request.context == "") {
textGenParagraph.textContent = "Please enter a context.";
return;
}
if (request.prompt == "") {
textGenParagraph.textContent = "Please enter a prompt.";
return;
}
}
/*
if (showEmail.checked) {
if (emailPrompt.value === "") {
textGenParagraph.textContent = "Please enter a valid email address.";
return;
} else {
request.email = emailPrompt.value;
}
}
*/
request.tokenize = document.getElementById("tokenize").checked;
request.add_generation_prompt = document.getElementById("add-generation-prompt").checked;
request.max_new_tokens = document.getElementById("max-new-tokens").value;
request.do_sample = document.getElementById("do-sample").checked;
request.temperature = document.getElementById("temperature").value;
request.top_k = document.getElementById("top-k").value;
request.top_p = document.getElementById("top-p").value;
textGenParagraph.append(await sendRequest(request, mode));
});
/*
document.getElementById('send-email').addEventListener('change', function() {
const showEmailDiv = document.getElementById('show-email');
if (this.checked) {
showEmailDiv.style.display = 'block';
} else {
showEmailDiv.style.display = 'none';
}
});*/