mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Don't add user placeholders
This commit is contained in:
@ -64,11 +64,11 @@ function postProcessPrompt(messages, type, names) {
|
||||
switch (type) {
|
||||
case 'merge':
|
||||
case 'claude':
|
||||
return mergeMessages(messages, names, false);
|
||||
return mergeMessages(messages, names, false, true);
|
||||
case 'strict':
|
||||
return mergeMessages(messages, names, true);
|
||||
return mergeMessages(messages, names, true, true);
|
||||
case 'deepseek':
|
||||
return (x => x[x.length - 1].role !== 'assistant' || (x[x.length - 1].prefix = true) ? x : x)([...mergeMessages(messages, names, true)]);
|
||||
return (x => x.length && (x[x.length - 1].role !== 'assistant' || (x[x.length - 1].prefix = true)) ? x : x)(mergeMessages(messages, names, true, false));
|
||||
default:
|
||||
return messages;
|
||||
}
|
||||
|
@ -639,9 +639,10 @@ export function convertMistralMessages(messages, names) {
|
||||
* @param {any[]} messages Messages to merge
|
||||
* @param {PromptNames} names Prompt names
|
||||
* @param {boolean} strict Enable strict mode: only allow one system message at the start, force user first message
|
||||
* @param {boolean} placeholders Add user placeholders to the messages in strict mode
|
||||
* @returns {any[]} Merged messages
|
||||
*/
|
||||
export function mergeMessages(messages, names, strict) {
|
||||
export function mergeMessages(messages, names, strict, placeholders) {
|
||||
let mergedMessages = [];
|
||||
|
||||
/** @type {Map<string,object>} */
|
||||
@ -700,9 +701,9 @@ export function mergeMessages(messages, names, strict) {
|
||||
}
|
||||
});
|
||||
|
||||
// Prevent erroring out if the messages array is empty.
|
||||
if (messages.length === 0) {
|
||||
messages.unshift({
|
||||
// Prevent erroring out if the mergedMessages array is empty.
|
||||
if (mergedMessages.length === 0) {
|
||||
mergedMessages.unshift({
|
||||
role: 'user',
|
||||
content: PROMPT_PLACEHOLDER,
|
||||
});
|
||||
@ -741,7 +742,7 @@ export function mergeMessages(messages, names, strict) {
|
||||
mergedMessages[i].role = 'user';
|
||||
}
|
||||
}
|
||||
if (mergedMessages.length) {
|
||||
if (mergedMessages.length && placeholders) {
|
||||
if (mergedMessages[0].role === 'system' && (mergedMessages.length === 1 || mergedMessages[1].role !== 'user')) {
|
||||
mergedMessages.splice(1, 0, { role: 'user', content: PROMPT_PLACEHOLDER });
|
||||
}
|
||||
@ -749,7 +750,7 @@ export function mergeMessages(messages, names, strict) {
|
||||
mergedMessages.unshift({ role: 'user', content: PROMPT_PLACEHOLDER });
|
||||
}
|
||||
}
|
||||
return mergeMessages(mergedMessages, names, false);
|
||||
return mergeMessages(mergedMessages, names, false, placeholders);
|
||||
}
|
||||
|
||||
return mergedMessages;
|
||||
|
Reference in New Issue
Block a user