import { PUBLIC_ASSISTANT_MESSAGE_TOKEN, PUBLIC_SEP_TOKEN, PUBLIC_USER_MESSAGE_TOKEN, } from "$env/static/public"; import type { Message } from "./types/Message"; /** * Convert [{user: "assistant", content: "hi"}, {user: "user", content: "hello"}] to: * * <|assistant|>hi<|endoftext|><|prompter|>hello<|endoftext|><|assistant|> */ export function buildPrompt(messages: Message[]): string { return ( messages .map( (m) => (m.from === "user" ? PUBLIC_USER_MESSAGE_TOKEN + m.content : PUBLIC_ASSISTANT_MESSAGE_TOKEN + m.content) + (m.content.endsWith(PUBLIC_SEP_TOKEN) ? "" : PUBLIC_SEP_TOKEN) ) .join("") + PUBLIC_ASSISTANT_MESSAGE_TOKEN ); }