vuelto/ZeroShotClassify
0
1const frmZsc = document.getElementById("frm-zsc");2 3const categorize = async (request) => {4 const resp = await fetch('classify', 5 {6 method: 'post', 7 headers: {8 'Accept': 'application/json',9 'Content-Type': 'application/json'10 }, 11 body: JSON.stringify(request)12 });13 14 const data = await resp.json();15 16 let output = '';17 18 const sorted = data.sort((a, b) => {19 return a.value < b.value ? 1 :20 a.value > b.value? -1 : 0;21 });22 23 sorted.forEach((score) => {24 output += `${score.label} : ${score.value}\n`;25 });26 27 return output;28};29 30frmZsc.addEventListener("submit", async (event) => {31 event.preventDefault();32 const btnSubmit = document.getElementById("btn-submit");33 btnSubmit.setAttribute('disabled', 'disabled');34 const spnBusy = document.getElementById("spn-busy");35 spnBusy.hidden = false;36 37 const txtInput = document.getElementById("txt-input");38 const txtOutput = document.getElementById("txt-output");39 const txtCats = document.getElementById("txt-cats");40 41 let cats = [];42 txtCats.value.split(',').forEach((cat) => {43 cats.push(cat.trim());44 });45 46 let request = {47 categories: cats,48 input: txtInput.value 49 };50 51 txtOutput.textContent = await categorize(request);52 spnBusy.hidden = true;53 btnSubmit.removeAttribute('disabled');54});55 