Spaces:
Sleeping
Sleeping
interface Message { | |
role: "system" | "user" | "assistant"; | |
content: string; | |
} | |
/** | |
* Formats the messages for the chat with the LLM model in the style of a pirate. | |
* @param messages - Array of message objects with role and content. | |
* @returns The formatted chat prompt. | |
*/ | |
export function createZephyrPrompt(messages: Message[]): string { | |
let prompt = ``; | |
// Iterate over messages and generate corresponding chat entries. | |
messages.forEach(message => { | |
prompt += `<|${message.role}|>\n${message.content.trim()}</s>`; | |
}); | |
if (messages.at(-1)?.role === "user") { | |
// Append the assistant's tag for the next response but without a closing tag. | |
prompt += `<|assistant|>`; | |
} | |
return prompt; | |
} |