diff --git a/public/scripts/openai.js b/public/scripts/openai.js index 3a722dc97..5a85da15e 100644 --- a/public/scripts/openai.js +++ b/public/scripts/openai.js @@ -523,7 +523,7 @@ function setOpenAIMessageExamples(mesExamplesArray) { for (let item of mesExamplesArray) { // remove {Example Dialogue:} and replace \r\n with just \n let replaced = item.replace(//i, '{Example Dialogue:}').replace(/\r/gm, ''); - let parsed = parseExampleIntoIndividual(replaced); + let parsed = parseExampleIntoIndividual(replaced, true); // add to the example message blocks array examples.push(parsed); } @@ -584,7 +584,13 @@ function setupChatCompletionPromptManager(openAiSettings) { return promptManager; } -function parseExampleIntoIndividual(messageExampleString) { +/** + * Parses the example messages into individual messages. + * @param {string} messageExampleString - The string containing the example messages + * @param {boolean} appendNamesForGroup - Whether to append the character name for group chats + * @returns {object[]} Array of message objects + */ +export function parseExampleIntoIndividual(messageExampleString, appendNamesForGroup = true) { let result = []; // array of msgs let tmp = messageExampleString.split('\n'); let cur_msg_lines = []; @@ -597,7 +603,7 @@ function parseExampleIntoIndividual(messageExampleString) { // strip to remove extra spaces let parsed_msg = cur_msg_lines.join('\n').replace(name + ':', '').trim(); - if (selected_group && ['example_user', 'example_assistant'].includes(system_name)) { + if (appendNamesForGroup && selected_group && ['example_user', 'example_assistant'].includes(system_name)) { parsed_msg = `${name}: ${parsed_msg}`; }