,
            top_k: 40,
            top_p: 0.9,
          },
          onNewToken: (token, piece, currentText) => {
            elemOutputCmpl.textContent = currentText;
          },
        });
        setCmplDisable(false);
      };
    }

    /////////////////////////////////////////////////////////////////////
    // embeddings

    async function startEmbeddings(modelUrl) {
      const wllama1 = new Wllama(CONFIG_PATHS);
      await wllama1.loadModelFromUrl(modelUrl, {
        // IMPORTANT: do not for