| | import { HF_ACCESS_TOKEN } from "$env/static/private"; |
| | import { HfInference } from "@huggingface/inference"; |
| | import { defaultModel } from "$lib/server/models"; |
| | import type { BackendModel } from "../models"; |
| | import { generateFromDefaultEndpoint } from "../generateFromDefaultEndpoint"; |
| |
|
| | export async function summarizeWeb(content: string, query: string, model: BackendModel) { |
| | |
| | try { |
| | if (HF_ACCESS_TOKEN) { |
| | const summary = ( |
| | await new HfInference(HF_ACCESS_TOKEN).summarization({ |
| | model: "facebook/bart-large-cnn", |
| | inputs: content, |
| | parameters: { |
| | max_length: 512, |
| | }, |
| | }) |
| | ).summary_text; |
| | return summary; |
| | } |
| | } catch (e) { |
| | console.log(e); |
| | } |
| |
|
| | |
| | const summaryPrompt = defaultModel.webSearchSummaryPromptRender({ |
| | answer: content |
| | .split(" ") |
| | .slice(0, model.parameters?.truncate ?? 0) |
| | .join(" "), |
| | query: query, |
| | }); |
| | const summary = await generateFromDefaultEndpoint(summaryPrompt).then((txt: string) => |
| | txt.trim() |
| | ); |
| |
|
| | return summary; |
| | } |
| |
|