From 5c5a44e4aca67934151b4ec027ae5a8e205c1e0e Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Mon, 3 Mar 2025 23:54:57 -0800 Subject: [PATCH] stop omitting system message --- .../llmMessage/preprocessLLMMessages.ts | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/src/vs/workbench/contrib/void/electron-main/llmMessage/preprocessLLMMessages.ts b/src/vs/workbench/contrib/void/electron-main/llmMessage/preprocessLLMMessages.ts index 741e911f..f3ba5e64 100644 --- a/src/vs/workbench/contrib/void/electron-main/llmMessage/preprocessLLMMessages.ts +++ b/src/vs/workbench/contrib/void/electron-main/llmMessage/preprocessLLMMessages.ts @@ -17,6 +17,9 @@ export const parseObject = (args: unknown) => { const prepareMessages_normalize = ({ messages: messages_ }: { messages: LLMChatMessage[] }) => { const messages = deepClone(messages_) const newMessages: LLMChatMessage[] = [] + if (messages.length >= 0) newMessages.push(messages[0]) + + // remove duplicate roles for (let i = 1; i < messages.length; i += 1) { const curr = messages[i] const prev = messages[i - 1] @@ -65,6 +68,7 @@ const prepareMessages_systemMessage = ({ // } + // if it has a system message (if doesn't, we obviously don't care about whether it supports system message or not...) if (systemMessageStr) { // if supports system message if (supportsSystemMessage) { @@ -77,25 +81,18 @@ const prepareMessages_systemMessage = ({ } // if does not support system message else { - if (supportsSystemMessage) { - if (newMessages.length === 0) - newMessages.push({ role: 'user', content: systemMessageStr }) - // add system mesasges to first message (should be a user message) - else { - const newFirstMessage = { - role: 'user', - content: ('' - + '\n' - + systemMessageStr - + '\n' - + '\n' - + newMessages[0].content - ) - } as const - newMessages.splice(0, 1) // delete first message - newMessages.unshift(newFirstMessage) // add new first message - } - } + const newFirstMessage = { + role: 'user', + content: ('' + + '\n' + + systemMessageStr + + '\n' + + '\n' + + newMessages[0].content + ) + } as const + newMessages.splice(0, 1) // delete first message + newMessages.unshift(newFirstMessage) // add new first message } }