Don't add user placeholders

c9db7a1574811ee33fd98b3735f493a0e03b9982

Cohee <18619528+Cohee1207@users.noreply.github.com>

2 files changed, +10 -9Ignore whitespace
src/endpoints/backends/chat-completions.js+3 -3
@@ -64,11 +64,11 @@ function postProcessPrompt(messages, type, names) {
6464 switch (type) {
6565 case 'merge':
6666 case 'claude':
6767 return mergeMessages(messages, names, false, true);
6868 case 'strict':
6969 return mergeMessages(messages, names, true, true);
7070 case 'deepseek':
7171 return (x => x.length && (x[x.length - 1].role !== 'assistant' || (x[x.length - 1].prefix = true)) ? x : x)([...mergeMessages(messages, names, true, false)]);
7272 default:
7373 return messages;
7474 }
src/prompt-converters.js+7 -6
@@ -639,9 +639,10 @@ export function convertMistralMessages(messages, names) {
639639 * @param {any[]} messages Messages to merge
640640 * @param {PromptNames} names Prompt names
641641 * @param {boolean} strict Enable strict mode: only allow one system message at the start, force user first message
642+ * @param {boolean} placeholders Add user placeholders to the messages in strict mode
642643 * @returns {any[]} Merged messages
643644 */
644645export function mergeMessages(messages, names, strict, placeholders) {
645646 let mergedMessages = [];
646647
647648 /** @type {Map<string,object>} */
@@ -700,9 +701,9 @@ export function mergeMessages(messages, names, strict) {
700701 }
701702 });
702703
703704 // Prevent erroring out if the messagesmergedMessages array is empty.
704705 if (messagesmergedMessages.length === 0) {
705706 messagesmergedMessages.unshift({
706707 role: 'user',
707708 content: PROMPT_PLACEHOLDER,
708709 });
@@ -741,7 +742,7 @@ export function mergeMessages(messages, names, strict) {
741742 mergedMessages[i].role = 'user';
742743 }
743744 }
744745 if (mergedMessages.length && placeholders) {
745746 if (mergedMessages[0].role === 'system' && (mergedMessages.length === 1 || mergedMessages[1].role !== 'user')) {
746747 mergedMessages.splice(1, 0, { role: 'user', content: PROMPT_PLACEHOLDER });
747748 }
@@ -749,7 +750,7 @@ export function mergeMessages(messages, names, strict) {
749750 mergedMessages.unshift({ role: 'user', content: PROMPT_PLACEHOLDER });
750751 }
751752 }
752753 return mergeMessages(mergedMessages, names, false, placeholders);
753754 }
754755
755756 return mergedMessages;