| import { SAIGA_PROMPT_WEB_SEARCH_ANALYZE } from "$env/static/private"; |
| import type { BackendModel } from "./server/models"; |
| import type { Message } from "./types/Message"; |
| import type { WebSearch } from "./types/WebSearch"; |
|
|
| interface buildSearchPromptOptions { |
| messages: Message[]; |
| webSearch?: WebSearch; |
| } |
|
|
| export async function buildSearchPrompt({ |
| messages, |
| webSearch |
| }: buildSearchPromptOptions): Promise<Message[]> { |
| const lastUserMsg = messages.filter(m => m.from == 'user').slice(-1)[0]; |
| let content = lastUserMsg.content; |
| if (webSearch && webSearch.context){ |
| content = SAIGA_PROMPT_WEB_SEARCH_ANALYZE.replace('{{query}}', lastUserMsg.content).replace('{{context}}', webSearch.context) |
| } |
|
|
| return [{ |
| ...lastUserMsg, |
| content: content, |
| }]; |
| } |
|
|