| import type { BackendModel } from "./server/models"; |
| import type { Message } from "./types/Message"; |
| import { collections } from "$lib/server/database"; |
| import { authCondition } from "./server/auth"; |
| |
| |
| |
| |
| |
|
|
| interface buildPromptOptions { |
| messages: Pick<Message, "from" | "content">[]; |
| model: BackendModel; |
| locals?: App.Locals; |
| webSearchId?: string; |
| preprompt?: string; |
| } |
|
|
| export async function buildPrompt({ |
| messages, |
| model, |
| locals, |
| webSearchId, |
| preprompt, |
| }: buildPromptOptions): Promise<string> { |
| return ( |
| model |
| .chatPromptRender({ messages, preprompt }) |
| |
| .split(" ") |
| .slice(-(model.parameters?.truncate ?? 0)) |
| .join(" ") |
| ); |
| } |
|
|