diff --git a/public/script.js b/public/script.js index 579f7c830..e240dd93e 100644 --- a/public/script.js +++ b/public/script.js @@ -1994,6 +1994,13 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject, const isBottom = j === mesSend.length - 1; mesSendString += mesSend[j]; + // Add quiet generation prompt at depth 0 + if (isBottom && quiet_prompt && quiet_prompt.length) { + const name = is_pygmalion ? 'You' : name1; + const quietAppend = isInstruct ? formatInstructModeChat(name, quiet_prompt, true) : `\n${name}: ${quiet_prompt}`; + mesSendString += quietAppend; + } + if (isInstruct && isBottom && tokens_already_generated === 0) { const name = isImpersonate ? (is_pygmalion ? 'You' : name1) : name2; mesSendString += formatInstructModePrompt(name, isImpersonate); @@ -2149,11 +2156,6 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject, } } - // Add quiet generation prompt at depth 0 - if (quiet_prompt && quiet_prompt.length) { - finalPromt += `\n${quiet_prompt}`; - } - finalPromt = finalPromt.replace(/\r/gm, ''); if (power_user.collapse_newlines) { diff --git a/public/scripts/extensions/stable-diffusion/index.js b/public/scripts/extensions/stable-diffusion/index.js index f8392d136..321196745 100644 --- a/public/scripts/extensions/stable-diffusion/index.js +++ b/public/scripts/extensions/stable-diffusion/index.js @@ -237,7 +237,9 @@ function getQuietPrompt(mode, trigger) { function processReply(str) { str = str.replaceAll('"', '') str = str.replaceAll('“', '') - str = str.replaceAll('\n', ' ') + str = str.replaceAll('\n', ', ') + str = str.replace(/[^a-zA-Z0-9,:]+/g, ' ') // Replace everything except alphanumeric characters and commas with spaces + str = str.replace(/\s+/g, ' '); // Collapse multiple whitespaces into one str = str.trim(); return str; @@ -259,7 +261,7 @@ async function generatePicture(_, trigger) { const prompt = processReply(await new Promise( async function promptPromise(resolve, reject) { try { - await context.generate('quiet', { resolve, reject, quiet_prompt }); + await context.generate('quiet', { resolve, reject, quiet_prompt, force_name2: true, }); } catch { reject(); @@ -269,6 +271,8 @@ async function generatePicture(_, trigger) { context.deactivateSendButtons(); hideSwipeButtons(); + console.log('Processed Stable Diffusion prompt:', prompt); + const url = new URL(getApiUrl()); url.pathname = '/api/image'; const result = await fetch(url, { @@ -295,7 +299,7 @@ async function generatePicture(_, trigger) { sendMessage(prompt, base64Image); } } catch (err) { - console.error(err); + console.trace(err); throw new Error('SD prompt text generation failed.') } finally {