CFG: Don't inject anything when guidance scale doesn't exist

If the guidance scale is 1, completely disable sending CFG and creating
a negative prompt.

Signed-off-by: kingbri <bdashore3@proton.me>
This commit is contained in:
kingbri 2023-08-23 11:27:58 -04:00
parent 2c2a68ef76
commit 0460375647
4 changed files with 14 additions and 10 deletions

View File

@ -2741,6 +2741,12 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject,
// Fetches the combined prompt for both negative and positive prompts // Fetches the combined prompt for both negative and positive prompts
const cfgGuidanceScale = getGuidanceScale(); const cfgGuidanceScale = getGuidanceScale();
function getCombinedPrompt(isNegative) { function getCombinedPrompt(isNegative) {
// Only return if the guidance scale doesn't exist or the value is 1
// Also don't return if constructing the neutral prompt
if (isNegative && (!cfgGuidanceScale || cfgGuidanceScale?.value === 1)) {
return;
}
let finalMesSend = [...mesSend]; let finalMesSend = [...mesSend];
let cfgPrompt = {}; let cfgPrompt = {};
if (cfgGuidanceScale && cfgGuidanceScale?.value !== 1) { if (cfgGuidanceScale && cfgGuidanceScale?.value !== 1) {
@ -2754,7 +2760,7 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject,
? cfgPrompt.value ? cfgPrompt.value
: ` ${cfgPrompt.value}`; : ` ${cfgPrompt.value}`;
} else { } else {
// TODO: Switch from splice method to insertion depth method // TODO: Make all extension prompts use an array/splice method
finalMesSend.splice(mesSend.length - cfgPrompt.depth, 0, `${cfgPrompt.value}\n`); finalMesSend.splice(mesSend.length - cfgPrompt.depth, 0, `${cfgPrompt.value}\n`);
} }
} }

View File

@ -348,7 +348,7 @@ jQuery(async () => {
.filter(":checked") .filter(":checked")
.map(function() { return parseInt($(this).val()) }) .map(function() { return parseInt($(this).val()) })
.get() .get()
.filter((e) => e !== NaN) || []; .filter((e) => !Number.isNaN(e)) || [];
chat_metadata[metadataKeys.prompt_combine] = values; chat_metadata[metadataKeys.prompt_combine] = values;
saveMetadataDebounced(); saveMetadataDebounced();

View File

@ -39,11 +39,13 @@ export function getGuidanceScale() {
}; };
} }
if (extension_settings.cfg.global && extension_settings.cfg.global?.guidance_scale !== 1) {
return { return {
type: cfgType.global, type: cfgType.global,
value: extension_settings.cfg.global.guidance_scale value: extension_settings.cfg.global.guidance_scale
}; };
} }
}
// Gets the CFG prompt // Gets the CFG prompt
export function getCfgPrompt(guidanceScale, isNegative) { export function getCfgPrompt(guidanceScale, isNegative) {

View File

@ -234,10 +234,6 @@ async function generateTextGenWithStreaming(generate_data, signal) {
} }
export function getTextGenGenerationData(finalPrompt, this_amount_gen, isImpersonate, cfgValues) { export function getTextGenGenerationData(finalPrompt, this_amount_gen, isImpersonate, cfgValues) {
if (cfgValues?.guidanceScale?.value === 1) {
cfgValues = null;
}
return { return {
'prompt': finalPrompt, 'prompt': finalPrompt,
'max_new_tokens': this_amount_gen, 'max_new_tokens': this_amount_gen,