🚀 transformers.js
transformers.js 是一个 JavaScript 库,可用于处理音频文本到文本的转换任务,支持多种语言,基于特定模型实现强大功能。
🚀 快速开始
如果你还未安装 Transformers.js JavaScript 库,可以通过以下命令从 NPM 进行安装:
npm i @huggingface/transformers
💻 使用示例
基础用法
import { UltravoxProcessor, UltravoxModel, read_audio } from "@huggingface/transformers";
const processor = await UltravoxProcessor.from_pretrained(
"onnx-community/ultravox-v0_5-llama-3_2-1b-ONNX",
);
const model = await UltravoxModel.from_pretrained(
"onnx-community/ultravox-v0_5-llama-3_2-1b-ONNX",
{
dtype: {
embed_tokens: "q8",
audio_encoder: "q4",
decoder_model_merged: "q4",
},
},
);
const audio = await read_audio("http://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/mlk.wav", 16000);
const messages = [
{
role: "system",
content: "You are a helpful assistant.",
},
{ role: "user", content: "Transcribe this audio:<|audio|>" },
];
const text = processor.tokenizer.apply_chat_template(messages, {
add_generation_prompt: true,
tokenize: false,
});
const inputs = await processor(text, audio);
const generated_ids = await model.generate({
...inputs,
max_new_tokens: 128,
});
const generated_texts = processor.batch_decode(
generated_ids.slice(null, [inputs.input_ids.dims.at(-1), null]),
{ skip_special_tokens: true },
);
console.log(generated_texts[0]);
📄 许可证
本项目采用 MIT 许可证。
📋 信息表格
属性 |
详情 |
支持语言 |
阿拉伯语(ar)、白俄罗斯语(be)、保加利亚语(bg)、孟加拉语(bn)、捷克语(cs)、威尔士语(cy)、丹麦语(da)、德语(de)、希腊语(el)、英语(en)、西班牙语(es)、爱沙尼亚语(et)、波斯语(fa)、芬兰语(fi)、法语(fr)、加利西亚语(gl)、印地语(hi)、匈牙利语(hu)、意大利语(it)、日语(ja)、格鲁吉亚语(ka)、立陶宛语(lt)、拉脱维亚语(lv)、马其顿语(mk)、马拉地语(mr)、荷兰语(nl)、波兰语(pl)、葡萄牙语(pt)、罗马尼亚语(ro)、俄语(ru)、斯洛伐克语(sk)、斯洛文尼亚语(sl)、塞尔维亚语(sr)、瑞典语(sv)、斯瓦希里语(sw)、泰米尔语(ta)、泰语(th)、土耳其语(tr)、乌克兰语(uk)、乌尔都语(ur)、越南语(vi)、中文(zh) |
库名称 |
transformers.js |
评估指标 |
BLEU |
任务类型 |
音频文本到文本 |
基础模型 |
fixie-ai/ultravox-v0_5-llama-3_2-1b |