fix double-prefixing on example messages

This commit is contained in:
InspectorCaracal 2024-12-13 17:56:06 -07:00 committed by GitHub
parent f9eb720f2a
commit 1ef25d6176
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -431,7 +431,8 @@ export function formatInstructModeExamples(mesExamplesArray, name1, name2) {
return mesExamplesArray.map(x => x.replace(/<START>\n/i, blockHeading)); return mesExamplesArray.map(x => x.replace(/<START>\n/i, blockHeading));
} }
const includeNames = power_user.instruct.names_behavior === names_behavior_types.ALWAYS || (!!selected_group && power_user.instruct.names_behavior === names_behavior_types.FORCE); const includeNames = power_user.instruct.names_behavior === names_behavior_types.ALWAYS;
const includeGroupNames = selected_group && (includeNames || power_user.instruct.names_behavior === names_behavior_types.FORCE);
let inputPrefix = power_user.instruct.input_sequence || ''; let inputPrefix = power_user.instruct.input_sequence || '';
let outputPrefix = power_user.instruct.output_sequence || ''; let outputPrefix = power_user.instruct.output_sequence || '';
@ -463,7 +464,7 @@ export function formatInstructModeExamples(mesExamplesArray, name1, name2) {
for (const item of mesExamplesArray) { for (const item of mesExamplesArray) {
const cleanedItem = item.replace(/<START>/i, '{Example Dialogue:}').replace(/\r/gm, ''); const cleanedItem = item.replace(/<START>/i, '{Example Dialogue:}').replace(/\r/gm, '');
const blockExamples = parseExampleIntoIndividual(cleanedItem); const blockExamples = parseExampleIntoIndividual(cleanedItem, includeGroupNames);
if (blockExamples.length === 0) { if (blockExamples.length === 0) {
continue; continue;
@ -474,8 +475,9 @@ export function formatInstructModeExamples(mesExamplesArray, name1, name2) {
} }
for (const example of blockExamples) { for (const example of blockExamples) {
// If group names were already included, we don't want to add an additional prefix
// If force group/persona names is set, we should override the include names for the user placeholder // If force group/persona names is set, we should override the include names for the user placeholder
const includeThisName = includeNames || (power_user.instruct.names_behavior === names_behavior_types.FORCE && example.name == 'example_user'); const includeThisName = (includeNames && !includeGroupNames) || (power_user.instruct.names_behavior === names_behavior_types.FORCE && example.name == 'example_user');
const prefix = example.name == 'example_user' ? inputPrefix : outputPrefix; const prefix = example.name == 'example_user' ? inputPrefix : outputPrefix;
const suffix = example.name == 'example_user' ? inputSuffix : outputSuffix; const suffix = example.name == 'example_user' ? inputSuffix : outputSuffix;
@ -489,7 +491,6 @@ export function formatInstructModeExamples(mesExamplesArray, name1, name2) {
if (formattedExamples.length === 0) { if (formattedExamples.length === 0) {
return mesExamplesArray.map(x => x.replace(/<START>\n/i, blockHeading)); return mesExamplesArray.map(x => x.replace(/<START>\n/i, blockHeading));
} }
return formattedExamples; return formattedExamples;
} }