Don't add user placeholders
| @@ -64,11 +64,11 @@ function postProcessPrompt(messages, type, names) { | ||
| 64 | 64 | switch (type) { |
| 65 | 65 | case 'merge': |
| 66 | 66 | case 'claude': |
| 67 | 67 | return mergeMessages(messages, names, false, true); |
| 68 | 68 | case 'strict': |
| 69 | 69 | return mergeMessages(messages, names, true, true); |
| 70 | 70 | case 'deepseek': |
| 71 | 71 | return (x => x.length && (x[x.length - 1].role !== 'assistant' || (x[x.length - 1].prefix = true)) ? x : x)([...mergeMessages(messages, names, true, false)]); |
| 72 | 72 | default: |
| 73 | 73 | return messages; |
| 74 | 74 | } |
| @@ -639,9 +639,10 @@ export function convertMistralMessages(messages, names) { | ||
| 639 | 639 | * @param {any[]} messages Messages to merge |
| 640 | 640 | * @param {PromptNames} names Prompt names |
| 641 | 641 | * @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 | |
| 642 | 643 | * @returns {any[]} Merged messages |
| 643 | 644 | */ |
| 644 | 645 | export function mergeMessages(messages, names, strict, placeholders) { |
| 645 | 646 | let mergedMessages = []; |
| 646 | 647 | |
| 647 | 648 | /** @type {Map<string,object>} */ |
| @@ -700,9 +701,9 @@ export function mergeMessages(messages, names, strict) { | ||
| 700 | 701 | } |
| 701 | 702 | }); |
| 702 | 703 | |
| 703 | 704 | // Prevent erroring out if the messagesmergedMessages array is empty. |
| 704 | 705 | if (messagesmergedMessages.length === 0) { |
| 705 | 706 | messagesmergedMessages.unshift({ |
| 706 | 707 | role: 'user', |
| 707 | 708 | content: PROMPT_PLACEHOLDER, |
| 708 | 709 | }); |
| @@ -741,7 +742,7 @@ export function mergeMessages(messages, names, strict) { | ||
| 741 | 742 | mergedMessages[i].role = 'user'; |
| 742 | 743 | } |
| 743 | 744 | } |
| 744 | 745 | if (mergedMessages.length && placeholders) { |
| 745 | 746 | if (mergedMessages[0].role === 'system' && (mergedMessages.length === 1 || mergedMessages[1].role !== 'user')) { |
| 746 | 747 | mergedMessages.splice(1, 0, { role: 'user', content: PROMPT_PLACEHOLDER }); |
| 747 | 748 | } |
| @@ -749,7 +750,7 @@ export function mergeMessages(messages, names, strict) { | ||
| 749 | 750 | mergedMessages.unshift({ role: 'user', content: PROMPT_PLACEHOLDER }); |
| 750 | 751 | } |
| 751 | 752 | } |
| 752 | 753 | return mergeMessages(mergedMessages, names, false, placeholders); |
| 753 | 754 | } |
| 754 | 755 | |
| 755 | 756 | return mergedMessages; |