From edac8da4a83a05197a109afe4fbe042e4e3f8177 Mon Sep 17 00:00:00 2001 From: David Corbitt Date: Thu, 17 Aug 2023 03:10:55 -0700 Subject: [PATCH] Convert system to user prompt for airoboros --- .../openpipe-chat/templatePrompt.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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; };