2024-02-25 18:44:47 +05:30
|
|
|
import { getWebSearchPrompt } from "~services/ollama"
|
|
|
|
|
import { webSearch } from "./local-google"
|
|
|
|
|
|
|
|
|
|
export const getSystemPromptForWeb = async (query: string) => {
|
|
|
|
|
try {
|
|
|
|
|
const search = await webSearch(query)
|
|
|
|
|
|
|
|
|
|
const search_results = search.map((result, idx) => `<result source="${result.url}" id="${idx}">${result.content}</result>`).join("\n")
|
|
|
|
|
|
|
|
|
|
const current_date_time = new Date().toLocaleString()
|
|
|
|
|
|
|
|
|
|
const system = await getWebSearchPrompt();
|
|
|
|
|
|
|
|
|
|
const prompt = system.replace("{current_date_time}", current_date_time).replace("{search_results}", search_results)
|
|
|
|
|
|
2024-02-25 21:17:27 +05:30
|
|
|
return {
|
|
|
|
|
prompt,
|
|
|
|
|
source: search.map((result) => {
|
|
|
|
|
return {
|
|
|
|
|
url: result.url,
|
|
|
|
|
name: new URL(result.url).hostname,
|
|
|
|
|
type: "url",
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
2024-02-25 18:44:47 +05:30
|
|
|
} catch (e) {
|
2024-02-25 21:17:27 +05:30
|
|
|
console.error(e)
|
|
|
|
|
return {
|
|
|
|
|
prompt: "",
|
|
|
|
|
source: [],
|
|
|
|
|
}
|
2024-02-25 18:44:47 +05:30
|
|
|
}
|
|
|
|
|
}
|