woolball-client
Version:
Client-side library for Woolball enabling secure browser resource sharing for distributed AI task processing
29 lines (28 loc) • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.translation = void 0;
async function translation(data) {
const { input, model, srcLang, tgtLang, ...options } = data;
if (!input || !srcLang || !tgtLang) {
throw new Error("Required parameters: input, srcLang and tgtLang");
}
const { pipeline } = await import('@huggingface/transformers');
const pipe = await pipeline('translation', model, {
dtype: data.dtype,
device: 'wasm',
});
const translationOptions = {
...options
};
translationOptions.src_lang = srcLang;
translationOptions.tgt_lang = tgtLang;
const result = await pipe(input, translationOptions);
let translatedText = '';
if (Array.isArray(result) && result.length > 0) {
const firstResult = result[0];
translatedText = firstResult.translation_text || '';
}
await pipe.dispose();
return { translatedText };
}
exports.translation = translation;