web-ai-toolkit
Version:
AI powered features on the web made easy
39 lines (38 loc) • 987 B
JavaScript
import { _ as o, a as l, w as p } from "./utils-BzV5l7tu.js";
import { p as _ } from "./summarization-utils-OoXTUJUI.js";
let e;
async function b(r, t = "Xenova/distilbart-cnn-6-6", i = 1e3, c = 100, m = 200, u) {
return new Promise(async (s, w) => {
try {
if (e || await f(t), r.length <= i) {
const a = await e(r);
s(a);
return;
}
const n = await _(
r,
i,
c,
m,
u,
async (a) => await e(a),
(a) => Array.isArray(a) ? a[0].summary_text : a.summary_text,
(a) => [{ summary_text: a }]
);
s(n);
} catch (n) {
w(n);
}
});
}
async function f(r) {
return new Promise(async (t) => {
e || (o.allowLocalModels = !1, o.useBrowserCache = !1, e = await l("summarization", r || "Xenova/distilbart-cnn-6-6", {
dtype: "fp32",
device: navigator.ml ? "webnn" : await p() ? "webgpu" : "wasm"
})), t();
});
}
export {
b as runSummarizer
};