diff --git a/app/src/modelProviders/openpipe-chat/templatePrompt.ts b/app/src/modelProviders/openpipe-chat/templatePrompt.ts index 1f67990..672ce89 100644 --- a/app/src/modelProviders/openpipe-chat/templatePrompt.ts +++ b/app/src/modelProviders/openpipe-chat/templatePrompt.ts @@ -156,7 +156,18 @@ export const templateAiroborosPrompt = (messages: OpenpipeChatInput["messages"]) } } - let prompt = `${combinedSystemMessage}\n${conversationMessages.join(splitter)}`; + let systemMessage = ""; + + if (combinedSystemMessage) { + // If there is no user message, add a user tag to the system message + if (conversationMessages.find((message) => message.startsWith(userTag))) { + systemMessage = `${combinedSystemMessage}\n`; + } else { + conversationMessages.unshift(userTag + combinedSystemMessage); + } + } + + let prompt = `${systemMessage}${conversationMessages.join(splitter)}`; // Ensure that the prompt ends with an assistant message const lastUserIndex = prompt.lastIndexOf(userTag); @@ -166,5 +177,7 @@ export const templateAiroborosPrompt = (messages: OpenpipeChatInput["messages"]) prompt += splitter + assistantTag; } + console.log("prompt is", prompt); + return prompt; };