From 6d65d47f008febd36b9a44357cbf484c219c8014 Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Tue, 9 Apr 2024 11:24:16 +0300 Subject: [PATCH] Fix macro not being subbed in example separators for instruct --- public/scripts/instruct-mode.js | 2 +- public/scripts/openai.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/public/scripts/instruct-mode.js b/public/scripts/instruct-mode.js index 1a7f05aff..ba1b1506e 100644 --- a/public/scripts/instruct-mode.js +++ b/public/scripts/instruct-mode.js @@ -372,7 +372,7 @@ export function formatInstructModeSystemPrompt(systemPrompt) { * @returns {string[]} Formatted example messages string. */ export function formatInstructModeExamples(mesExamplesArray, name1, name2) { - const blockHeading = power_user.context.example_separator ? power_user.context.example_separator + '\n' : ''; + const blockHeading = power_user.context.example_separator ? `${substituteParams(power_user.context.example_separator)}\n` : ''; if (power_user.instruct.skip_examples) { return mesExamplesArray.map(x => x.replace(/\n/i, blockHeading)); diff --git a/public/scripts/openai.js b/public/scripts/openai.js index 59256df75..19268a005 100644 --- a/public/scripts/openai.js +++ b/public/scripts/openai.js @@ -431,15 +431,15 @@ function convertChatCompletionToInstruct(messages, type) { const exampleMessages = messages.filter(x => x.role === 'system' && (x.name === 'example_user' || x.name === 'example_assistant')); if (exampleMessages.length) { - examplesText = power_user.context.example_separator + '\n'; - examplesText += exampleMessages.map(toString).join('\n'); - examplesText = formatInstructModeExamples(examplesText, name1, name2); + const blockHeading = power_user.context.example_separator ? (substituteParams(power_user.context.example_separator) + '\n') : ''; + const examplesArray = exampleMessages.map(m => '\n' + toString(m)); + examplesText = blockHeading + formatInstructModeExamples(examplesArray, name1, name2).join(''); } const chatMessages = messages.slice(firstChatMessage); if (chatMessages.length) { - chatMessagesText = power_user.context.chat_start + '\n'; + chatMessagesText = substituteParams(power_user.context.chat_start) + '\n'; for (const message of chatMessages) { const name = getPrefix(message);