File size: 770 Bytes
9052a89 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
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;
} |